融入问题

时间:2013-06-23 15:54:45

标签: sql firebird firebird2.5

我正在尝试复制同一个表的两个不同记录的所有值,所以我像这样使用Merge:

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是我要复制到

的记录的主键值

0 个答案:

没有答案
相关问题