Sil*_*bob 4 t-sql sql-server sql-server-2012
我有一个SQL查询,在其中声明一个表.
Declare @t table(tagname nvarchar(50), Value float, timestamp datetime)
Run Code Online (Sandbox Code Playgroud)
然后我在这个表中插入一些日期.完成后,我想更新另一个表(已创建)@t.
有点像:
UPDATE Optimiser_tagData
SET Optimiser_tagData.value = @t.value
where Optimiser_tagData.tagName = @t.tagName
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,我得到这个错误:
必须声明标量变量"@t"
我相信我很容易错过一些东西,但我无法弄明白.
您的更新声明应如下所示.你必须在Table variable和之间申请加入Optimiser_tagData.你应该整个运行update语句(表变量声明等)
UPDATE Optimiser
SET Optimiser.value = t.value
from Optimiser_tagData Optimiser
join @t t
on Optimiser.tagName = t.tagName
Run Code Online (Sandbox Code Playgroud)