sql >> Databasteknik >  >> RDS >> Oracle

UPPDATERING med CASE och IN - Oracle

Du sa att budgetposten är alfanumerisk. Det betyder att den letar efter jämförelser med strängar. Du bör prova att omge dina parametrar i enkla citattecken (och du saknar den sista THEN i Case-uttrycket).

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 


  1. Så här åtgärdar du MySQL JDBC 08001-databasanslutningsfel

  2. Hur kan jag söka (skiftlägeskänsligt) i en kolumn med hjälp av LIKE jokertecken?

  3. Markera Osänd e-post i SQL Server (T-SQL)

  4. Oracle infoga i tabell2 och ta sedan bort från tabell1, undantag om misslyckas