我正在尝试为同一个表复制两个不同记录的所有值,所以我像这样使用 Merge Into:
Merge into mytable target
using (select * from mytable where pk = :p1_original) source
on (target.pk = :p2_new)
WHEN MATCHED THEN
UPDATE SET ...
它有效,所以我尝试Merge Into
像这样使用:
Merge into mytable target
using mytable source
on (target.pk = :p2_new) and (source.pk = :p1_original)
WHEN MATCHED THEN
UPDATE SET ...
它也有效,但我想问一下,这两个脚本在性能方面的工作方式是否相同?
Update
我在他们使用的文档中看到的另一个问题是我WHEN MATCHED THEN
可以使用更多 SQL 语句还是Update
只允许使用?
其中 pk 是 mytable 主键(整数) p1_original 是我要复制的记录的主键值 p2_new 是我要复制到的记录的主键值