本文介绍的是如何把EXEC存储过程后返回的结果集存入一个表中。
语句:
INSERT <TableName> EXEC <Command>
例子:
exec master.dbo.xp_msver
该语句返回以下结果集
ndex Name Internal_Value Character_Value
1 ProductName NULL Microsoft SQL Server
2 ProductVersion 524288 8.00.2040
3
1 ProductName NULL Microsoft SQL Server
2 ProductVersion 524288 8.00.2040
3
创建一个表来存储该结果集
create table SqlServerVersion (
Idx varchar(200),
Name varchar(200),
InternalValue varchar(200),
CharacterValue varchar(200)
)
Idx varchar(200),
Name varchar(200),
InternalValue varchar(200),
CharacterValue varchar(200)
)
最后执行下面的语句就能将结果集插入表中了
insert SqlServerVersion exec master.dbo.xp_msver
select * from SqlServerVersion where Name = 'ProductVersion'
select CharacterValue from SqlServerVersion where Name = 'ProductVersion'
--返回: 8.00.2040
select * from SqlServerVersion where Name = 'ProductVersion'
select CharacterValue from SqlServerVersion where Name = 'ProductVersion'
--返回: 8.00.2040
不过这样做要有个先决条件,就是存储过程中不能再有别的存储过程,否则不会成功