【发布时间】:2012-11-30 16:27:06
【问题描述】:
我在存储过程中有一个本地表变量,包含几列;我需要根据该行的第 1 列的值,使用子查询的结果更新每行的第 2 列。
类似:
UPDATE @mytable
SET column2 = (SELECT ... FROM ... WHERE something = @mytable.column1)
但这似乎不起作用,我收到一个关于 @mytable 未定义的错误。
这个查询的正确语法是什么?
【问题讨论】:
-
你在哪里调用这个语句?从存储过程内部?
-
是的。临时表和语句都在同一个SP中。
-
@ 不表示临时表,它表示 TABLE 类型的变量。 # 用于临时表 (#mytable)。
标签: sql sql-server sql-server-2008-r2 sql-update