我在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。