将变量表列放入永久表中,但会收到错误消息,它不是标量变量

时间:2018-12-08 14:59:38

标签: sql set

update autos
set autos.risico = @tbldeelnames.risico 

获取@tbldeelnames错误

1 个答案:

答案 0 :(得分:0)

标量值是指单个值。

UPDATE a
  SET a.riscio = t.risico
FROM @autos a
JOIN @tbldeelnames t on a.key = t.key

OR:

DECLARE @risico INT = 0;

[做一些事情以发现risico的价值并进行设置]

UPDATE Autos SET risico = @risico

您的更新语句假设只有一个autos.risico和一个@ tbldeelname.risico,这意味着您不需要表来保存值,并且在这种情况下,更新语句毫无意义。

如果您的@tbldeelnames包含多个记录,那么您需要指定 WHICH 记录以从@tbldeelnames中使用。并且,@ autos中的记录将进行更新,否则@autos中的所有记录将使用@tbldeellnames中所选记录中的值进行更新。