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

时间:2012-11-30 16:27:07

标签: sql sql-server sql-server-2008-r2 sql-update

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

类似的东西:

UPDATE @mytable
SET column2 = (SELECT ... FROM ... WHERE something = @mytable.column1)

但这似乎不起作用,我得到一个关于@mytable未定义的错误。

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

1 个答案:

答案 0 :(得分:4)

您是否尝试过使用ALIAS?

UPDATE temp 
SET temp.column2 = (SELECT ... FROM ... WHERE something = temp.column1) 
FROM @mytable temp