1

我正在尝试为同一个表复制两个不同记录的所有值,所以我像这样使用 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 是我要复制到的记录的主键值

4

0 回答 0