根据我的研究,在MSSQL中没有数组变量,不是吗? 我想获得一个选择查询的结果。查询返回的值超过1。 (您可以在下面看到查询,它返回的值超过1,我无法分配它。)
Declare @sp_name varchar(100)
set @sp_name = (select name from sys.procedures)
有没有办法把结果变成变量?
答案 0 :(得分:2)
使用此
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
你是对的,没有数组,但希望逗号列表或临时表可以做你想要的......
答案 1 :(得分:2)
您可以使用table variable:
declare @results table (Name nvarchar(100))
insert into @results select name from sys.procedures
select * from @results