oracle中update table1 set column1 = xxx where ....
其中xxx条件为if ( table1.column2>=0 and table1.column3='ABC' ) 
                   exp1
              else 
                   exp2怎么表达,谢谢!!!!!!!!

解决方案 »

  1.   

    楼主要的是这个?update table 
    set column1=case when table1.column2>=0 and table1.column3='ABC' then 'exp1'
    else 'exp2' end where ....
      

  2.   

    SQL> SELECT * FROM TEST;        ID        ID1        ID2        ID3
    ---------- ---------- ---------- ----------
             1          1          3          4
             2          1         -1          4
             3          1          2          3
             4          1          2          4SQL> UPDATE TEST SET ID1=CASE WHEN (ID2>0 AND ID3=4) THEN 2 ELSE 3 END;已更新4行。SQL> SELECT * FROM TEST;        ID        ID1        ID2        ID3
    ---------- ---------- ---------- ----------
             1          2          3          4
             2          3         -1          4
             3          3          2          3
             4          2          2          4