update 与 merge
update 是平时使用比较多的更新语句 适用于数据量较小的情况下
merge 也是更新语句 但是更新速度很快 所以当数据量大的时候 建议使用这个方法
列:
UPDATE 表名1 gygx
SET gygx.gyoid =
(SELECT gy.pid FROM 表名2 gy
WHERE gygx.oid=gy.oid AND gy.reltype =21
)
SET gygx.gyoid =
(SELECT gy.pid FROM 表名2 gy
WHERE gygx.oid=gy.oid AND gy.reltype =21
)
将上面的update语句改为下面的merge 语句 效果一样 但速度快很多倍
merge into 表名1 gygx
using 表名2 gy on(gygx.oid=gy.oid AND gy.reltype =21)
when matched then
update set gygx.gyoid = gy.pid
using 表名2 gy on(gygx.oid=gy.oid AND gy.reltype =21)
when matched then
update set gygx.gyoid = gy.pid