执行以下查询“SELECT ID, CODE FROM SAMPLE_TABLE
”返回
ID CODE
1 45
5 45
6 45
7 45
8 45
我将它存储在临时表中。在所有情况下,CODE对于结果集的每一行保持相同。
我想获取代码值并将其设置为没有任何子查询的变量 像
INSERT INTO #TEMP_TABLE (ID) SELECT ID, @CODEVAL = CODE FROM SAMPLE_TABLE
但上面的代码对我不起作用。有没有其他方法可以在不进行查询的情况下将值设置为变量?
答案 0 :(得分:0)
您似乎想要执行INSERT
并将源表的CODE
字段的值同时存储到变量中。
您最接近目标的是使用表变量并使用OUTPUT
语句的INSERT
子句:
DECLARE @CODEVAL TABLE(CODE int)
INSERT INTO #TEMP_TABLE(ID, CODE)
OUTPUT INSERTED.CODE
INTO @CODEVAL
SELECT ID, CODE
FROM SAMPLE_TABLE
SELECT *
FROM @CODEVAL
<强>输出:强>
CODE
====
45
45
45
45
45