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 

但我想知道是否可以在不使用游标的情况下分配该值。

4

2 回答 2

6

你可以这样做:

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

我懂了 。. . 你的困惑是你想使用“set”。“set”只能设置一个值。您可以使用“选择”设置任意数量的值。

于 2012-07-27T18:05:15.640 回答
0
Select @Max = max(field_name), @Min = min(field_name) from table_name 

还是我对您的要求有所了解?

于 2012-07-27T18:08:04.110 回答