【发布时间】:2020-06-23 17:18:49
【问题描述】:
我遇到了一个关于更新表的 SQL 问题(在任何地方都找不到答案)。
问题如下:
Update TABLE1
SET @variable1 = @variable2
WHERE SomeColumn = @variable3;
其中 variable1 和 variable3 是 varchar(50) 的类型,而 variable2 是 int 的类型。我怎样才能使它工作?我一直在尝试使用 EXEC 或许多其他简单的选项,但它们似乎不适合我。
在我在这里给出的代码示例中,变量 2 的值被分配给变量 1,而不是名称等于变量 1 的列,当我尝试使用 Exec 时,它无法正确读取变量 2(因为 int 类型) .
【问题讨论】:
-
查询没有意义。它在做什么?
-
我应该编写一个使 Table 看起来不同的过程(与我使用 PIVOT 相同,但我无法使用该操作),这就是为什么最后我需要更新 Table有3个变量。这篇文章下的答案是有效的......但我的程序中似乎还有另一个问题......“Msg 207, Level 16, State 1, Line 85 Invalid column name 'Doors'。”不知道为什么 SQL 没有将其视为 row 的值,在名为 SomeColumn 的列中,它正在寻找名为“Doors”的列... Ps.我在 SomeColumn 列下确实有记录 Doors :/跨度>
标签: sql sql-server variables sql-update