将结果集合并为一个

时间:2011-10-06 15:13:34

标签: tsql sql-server-2008 stored-procedures resultset

我有一个存储过程(Generate_Insert),它将输出一个Insert语句作为给定表名的输出。

但是现在我创建了另一个看起来像这样的程序:

Create Procedure Inserts
As
Begin

EXEC Generate_Insert @Table = 'Admin'

EXEC Generate_Insert @Table = 'Impas'

EXEC Generate_Insert @Table = 'Asui'

EXEC Generate_Insert @Table = 'Alstd'

END

的示例输出
EXEC Generate_Insert @Table = 'Admin' is:

Insert into Admin(Ad_ID,Name,Desc) Values (1,'John','Employee')

问题是,当我执行此过程时,我在不同的窗口中获取结果集,但我希望输出为一个结果集。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

假设Generate_Insert的输出是varchar(max)

你可以在插入内容中执行此操作:

create table #temp
(
insert_stmt varchar(max)
)

insert into #temp 
EXEC Generate_Insert @Table = 'Admin'
insert into #temp 
EXEC Generate_Insert @Table = 'Impas'
insert into #temp 
EXEC Generate_Insert @Table = 'Asui'
insert into #temp 
EXEC Generate_Insert @Table = 'Alstd'

select * from #temp