2012-07-27 47 views
2

當我需要存儲在變量中的SQL語句的結果,我可以使用像這樣如何在不使用遊標的情況下一次將查詢結果分配給多個變量?

declare @Max as int 
set @Max=(select max(field_name) from table_name) 

一個代碼,但現在我想知道是否有可能做例如多個變量,像

句子相同
select max(field_name), min(field_name) from table_name 

我如何將結果存儲在兩個名爲@Max和@Min的變量中?

我知道這可以使用光標

DECLARE @Max as int, @Min as int 
DECLARE cursor_minmax CURSOR FOR 
Select max(field_name), min(field_name) from table_name 
OPEN cursor_minmax 
FETCH NEXT FROM cursor_minmax INTO @Max,@Min 
CLOSE cursor_minmax 
DEALLOCATE cursor_minmax 

做,但我想知道是否有可能分配一個wihout使用遊標值。

回答

6

你可以做到這一點是:

select @max = max(field_name), @min = min(field_name) 
from table_name 

我明白了。 。 。你的困惑是你想使用「設置」。您只能用「set」設置一個值。您可以使用「選擇」來設置任意數量的值。

0
Select @Max = max(field_name), @Min = min(field_name) from table_name 

或者我錯過了一些你對問題的理解?

相關問題