当前位置: 代码迷 >> Oracle开发 >> Oracle多表关联更新,该怎么处理
  详细解决方案

Oracle多表关联更新,该怎么处理

热度:84   发布时间:2016-04-24 06:38:32.0
Oracle多表关联更新
假设有满足如下条件的表记录,

SELECT A.flags FROM A, B
WHERE A.id = B.id AND A.flags = '1' AND B.list01 IS NOT NULL
AND  NOT EXISTS(SELECT 1 FROM C WHERE C.attID=2090 AND C.parentid=A.id);

此时A.flags值为1,如果想把A.flags的值update为0,update语句应该怎么写呢?
请指教!
------解决方案--------------------
UPDATE A SET FLAG=0
WHERE 
EXISTS(SELECT 1 FROM B WHERE A.id = B.id AND A.flags = '1' AND B.list01 IS NOT NULL)
AND  NOT EXISTS(SELECT 1 FROM C WHERE C.attID=2090 AND C.parentid=A.id)
AND FLAG=1;
  相关解决方案