将值从select查询存储到变量

时间:2013-05-07 11:15:06

标签: sql sql-server-2008 tsql

我想将值存储到select查询中声明的变量,但问题是我的select查询返回多行。见下面的例子

select Col1
from Table1 where Col1 NOT IN (select Col1 from Table2) 
and Col3 >=8


------------------
result
73
74

declare @temp1 int
declare @temp2 int

I essentially want @temp1 to hold 73 and @temp2 hold 74 and so fort...

任何有关如何实现这一目标的想法都会有很大帮助。 如果您需要更多解释,请与我们联系。

提前致谢, GAGAN

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找cursors

Here是一个不错的链接,可以探索它。

答案 1 :(得分:1)

我想说你应该使用表变量(或者临时表)来存储多个值。

declare @tab table
    (
        col1 int
    );

with myTab as
(
    Select 1 col
    Union All 
    Select 2
    Union All
    Select 3
)
Insert Into @tab 
    Select Col 
    From MyTab

Select * From @tab