oracle 批量更新多个字段sql (2014-07-01 16:49:42)转载▼
标签: oracle 批量更新 sql 分类: web技术
oracle 批量更新多个字段sql
UPDATE Tabel1 T1
SET (TASK_LY, SWRY_DM, XGSJ) =
( SELECT gr', RWJSR_DM, SYSDATE
FROM (SELECT 'gr', RWJSR_DM, SYSDATE,RWBM
FROM Table2 T2
WHERE RWZT_DM = '1'
) Z
WHERE T1.YWSJ_ID = Z.RWBM)--1
WHERE EXISTS (SELECT 1
FROM Table2 T2
WHERE RWZT_DM = '1'
AND T1.YWSJ_ID = T2.RWBM--2
);
要注意:1、像1标注的那个地方没有,如果没有关联就会提示多行错误,只能加上条件使用与T1关联起来
2、如果没有2关联条件的话,where exists 就会变成update 全表,这是要千万小心的,因为没有条件2关联时就是每一条记录都检查执行灰色部分,结果全都为true所以就会全表都符合所以要注意这两个关键点。
转载于:https://my.oschina.net/u/2543341/blog/649760