我在已填充所有空值的现有表上创建了一个新列(column4)。我正在尝试使用链接服务器列中的现有值填充所有记录。插入的值必须与正确的行匹配。
这就像我似乎已经接近但是我现在收到以下错误。我甚至没有尝试更新该列。我只是引用它,所以新值知道插入值的位置。
INSERT INTO Server1.database.schema.table1 (Column4)
SELECT link.column6
FROM LinkedServer.database.schema.view as link
INNER JOIN Server1.database.schema.table1 as local
ON link.key = local.key
WHERE local.key = link.key
Msg 515,Level 16,State 2,Line 212
无法将值NULL插入列'key',表'local';列不允许空值。 INSERT失败。 声明已经终止。
答案 0 :(得分:1)
对于sql server,您需要使用update
而不是insert
。
update local
set local.Column4 = link.column6
from LinkedServer.database.schema.view link
inner join Server1.database.schema.table1 local
on link.key = local.key