【问题标题】:How I can assign the result of a query to multiple variables at once without use a cursor?如何在不使用游标的情况下一次将查询结果分配给多个变量?
【发布时间】:2012-07-27 18:02:43
【问题描述】:

当我需要将 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 

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

【问题讨论】:

    标签: sql sql-server sql-server-2005


    【解决方案1】:

    你可以这样做:

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

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

    【讨论】:

      【解决方案2】:
      Select @Max = max(field_name), @Min = min(field_name) from table_name 
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多