如何在不使用游标的情况下一次将查询结果分配给多个变量?
Posted
技术标签:
【中文标题】如何在不使用游标的情况下一次将查询结果分配给多个变量?【英文标题】: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
但我想知道是否可以在不使用游标的情况下分配该值。
【问题讨论】:
【参考方案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
还是我对您的要求有所了解?
【讨论】:
以上是关于如何在不使用游标的情况下一次将查询结果分配给多个变量?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 Swift 中一次将委托分配给同一类的多个对象?
如何在不影响实际文档的情况下修改 Mongoose 中的结果查询?