如何在子查询中引用临时表?

Mas*_*imo 3 sql sql-server sql-server-2008-r2 sql-update

我在存储过程中有一个本地表变量,包含几列;我需要根据该行的第 1 列的值使用子查询的结果更新每行的第 2 列。

就像是:

UPDATE @mytable
SET column2 = (SELECT ... FROM ... WHERE something = @mytable.column1)
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,我收到有关 @mytable 未定义的错误。

此查询的正确语法是什么?

Fra*_*s P 5

您是否尝试过使用 ALIAS?

UPDATE temp 
SET temp.column2 = (SELECT ... FROM ... WHERE something = temp.column1) 
FROM @mytable temp
Run Code Online (Sandbox Code Playgroud)