2013-05-07 2 views
1

Я хотел бы сохранить значения в объявленных переменных из запроса 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

+1

Другие предложили различные идеи (таблицы переменных, временные таблицы), но неясно, что вы пытаетесь сделать или как вы будете использовать переменные позже. Если вы можете показать, как вы хотите их использовать, кто-то может предложить хорошее решение. – Pondlife

ответ

1

Я думаю, что вы ищете cursors.

Here - это отличная ссылка, которая исследует его.

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 
Смежные вопросы