【发布时间】:2016-04-13 06:59:04
【问题描述】:
这是查询
DECLARE @tempvarA INT = 0
UPDATE Table1 SET @tempvarA = 1 + intColumn, columnA = @tempvarA
*intColumn 是 Table1 中的一列 它成功执行了查询,但 columnA 的值为 0,其中最初声明了 @tempvarA。我在这里遗漏了什么还是@tempvarA 的值仅在执行更新语句后更新?
我尝试了以下方法:
DECLARE @tempvarA INT = 0
UPDATE Table1 SET @tempvarA = 1 + intColumn
UPDATE Table1 SET columnA = @tempvarA
它有效,但不知何故,我认为应该有更合适的方法来做到这一点。
【问题讨论】:
-
您不必发出
UPDATE来更改变量的值。只需简单地使用SET @tempvarA = 1。 -
你使用的是哪个版本的sql server?
-
在 sql server 2000 中运行良好。
-
很抱歉,我忘了说我需要表格中的一些东西来使用@tempvarA 进行计算。我稍后会编辑它。
标签: sql-server set declare