根据我的研究,在MSSQL中没有数组变量,是吗? 我想得到一个select查询的结果。但是这个查询返回了多个值。(你可以看到下面的查询,它返回了多个值,我不能赋值给它。)
Declare @sp_name varchar(100)
set @sp_name = (select name from sys.procedures)
有没有办法将结果存储到一个变量中?
根据我的研究,在MSSQL中没有数组变量,是吗? 我想得到一个select查询的结果。但是这个查询返回了多个值。(你可以看到下面的查询,它返回了多个值,我不能赋值给它。)
Declare @sp_name varchar(100)
set @sp_name = (select name from sys.procedures)
使用这个
set @sp_name = ''
select @sp_name = @sp_name +name+',' from sys.procedures
set @sp_name = left(@sp_name,len(@sp_name)-1) -- Remove last comma
现在@sp_name将成为逗号分隔的列表。
你也可以这样做
select @sp_name into #tmpList FROM sys.procedures
select * from #tmpList
你说得对,虽然没有数组,但希望逗号列表或临时表能够满足您的需求。
declare @results table (Name nvarchar(100))
insert into @results select name from sys.procedures
select * from @results