Oracle
 sql >> Datenbank >  >> RDS >> Oracle

UPDATE mit CASE und IN - Oracle

Sie sagten, dass budgetpost alphanumerisch ist. Das heißt, es wird nach Vergleichen mit Zeichenfolgen gesucht. Sie sollten versuchen, Ihre Parameter in einfache Anführungszeichen zu setzen (und Ihnen fehlt das abschließende THEN im Case-Ausdruck).

UPDATE tab1   
SET budgpost_gr1=   CASE  
                        WHEN (budgpost in ('1001','1012','50055'))  THEN 'BP_GR_A'   
                        WHEN (budgpost in ('5','10','98','0'))  THEN 'BP_GR_B'  
                        WHEN (budgpost in ('11','876','7976','67465')) THEN 'What?'
                        ELSE 'Missing' 
                        END