【发布时间】:2010-10-27 10:02:42
【问题描述】:
我有一个类似这样的声明:
MERGE INTO someTable st
USING
(
SELECT id,field1,field2,etc FROM otherTable
) ot on st.field1=ot.field1
WHEN NOT MATCHED THEN
INSERT (field1,field2,etc)
VALUES (ot.field1,ot.field2,ot.etc)
其中 otherTable 有一个自动递增的 id 字段。
我希望插入 someTable 的顺序与 otherTable 的 id 字段的顺序相同,这样 当插入不匹配的字段时,id的顺序被保留。
快速查看docs 似乎表明没有支持此功能的功能。
这可能吗,或者有其他方法可以满足我的要求吗?
编辑:一种方法是向 someTable 添加一个额外的字段来捕获排序。如果可能,我宁愿不这样做。
...经过反思,上述方法似乎是可行的方法。
【问题讨论】:
标签: sql sql-server tsql sql-server-2008 merge