一般情况下,我们只是单条更新,批量更新较少,现针对批量更新问题提供三种方法:
1.单栏位批量更新
UPDATE TEST A SET A.DEPT_NO=(SELECT B.DEPT_NO FROM TEST1 B WHERE A.EMP_NO=B.EMP_NO)
2.多栏位批量更新
UPDATE TEST A SET (A.EMP_NO,A.DEPT_NO,A.ID_NO,A.IC_NO,A.STATUS) =
(SELECT B.EMP_NO,B.DEPT_NO,B.ID_NO,B.IC_NO,B.STATUS FROM TEST1 B WHERE A.EMP_NO=B.EMP_NO)
3.使用merge方法更新数据
--使用MERGE方法更新数据
MERGE INTO tb_realtimedatavalue a
USING tb_pointconfig b
ON (a.fid = b.factoryid and a.uploadid=b.uploadid)
WHEN MATCHED THEN
UPDATE SET a.pointid = b.id
WHERE a.fid=13
此merge更新的方法来源于
http://www.cnblogs.com/GeneralXU/archive/2009/03/25/1421175.html
以上几点是个人总结的批量更新的方法,当然一般情况下我们可以用触发器,存储过程等来更新数据,但有时候触发器和存储过程不一定能够达到我们所需的要求,以此种方法是最快最有效的更新方法.
方法有千种,最快最有效的才是最好的,才是首选方法.
学习无止境,知识不断更新中.博客将会不断更新,以学习之心得与大家共享!