SQL增加合并语句中的ID列

时间:2018-11-20 13:26:43

标签: sql sql-server tsql

我在sql server中使用Merge,当不匹配时,我将这些值插入到目标表中。目标表具有一个唯一ID列,其值是ID1,ID2,ID3等。

每当我使用merge插入它时,我都会调用一个标量值函数,该函数将表中的最后一个值加1并返回它。当我在Insert语句中调用该函数时,在Merge中插入的条目将获得相同的ID。我该如何克服这个问题。

MERGE INTO Test
USING
(
SELECT   Name,UserName
from Test1
) AS Src
ON 1 = 0
WHEN NOT MATCHED BY TARGET THEN
INSERT (Id,Name,UserName) 
VALUES  ((SELECT GETID()),Name,UserName)

因此,当我运行此代码时,即使在表中也可以获得10个条目。所有条目都具有相同的ID。

0 个答案:

没有答案