我想将一个表合并bar
到另一个表foo
中,同时我必须为列分配一个唯一值messagenr
。这是我这样做的尝试(sql-server):
MERGE foo AS target
using bar AS source
ON target.message LIKE source.message
WHEN NOT matched BY target THEN
INSERT (messagenr,
language,
message)
VALUES ((SELECT Max(messagenr)
FROM foo)
+ 1,
'EN',
source.message);
当然这是行不通的。messagenr
对于插入的每个新数据集,我都得到完全相同的值。我不能修改表结构本身,所以我必须使用给定的结构。
如何messagenr
在目标表中的每个新数据集中获取 UNIQUE 值?