【发布时间】:2015-11-04 13:46:52
【问题描述】:
感谢您的所有帮助。
我正在使用 SQL Server 2008 R2,我的要求是我需要将存储过程输出插入到数据库中的一个新表(不是临时表或虚拟表)中,其中包含 2 个额外的列而无需添加值。
【问题讨论】:
标签: sql stored-procedures sql-server-2008-r2
感谢您的所有帮助。
我正在使用 SQL Server 2008 R2,我的要求是我需要将存储过程输出插入到数据库中的一个新表(不是临时表或虚拟表)中,其中包含 2 个额外的列而无需添加值。
【问题讨论】:
标签: sql stored-procedures sql-server-2008-r2
这是一个例子;
create procedure proc_1
as begin
SELECT name, database_id FROM sys.databases
end;
go
create table new_tbl (
name varchar(150),
id int,
new_col1 int,
new_col2 int
)
go
declare @tab table(
name varchar(150),
id int
)
begin
insert into @tab
exec proc_1
insert into new_tbl
select name, id, 1, 2 from @tab;
end;
go
select * from new_tbl
OutPut:
master 1 1 2
tempdb 2 1 2
model 3 1 2
......
【讨论】:
创建一个将默认列作为输出的存储过程。
例如:
上述 SP 的输出将提供所需的 2 个附加列。
【讨论】: