[英]How to Insert Into a temptable from a stored procedure
我有以下两个过程
1)PROC_A在执行时会给出两个表,例如Table1和Table2
2)在PROC_B中,我需要将通过执行PROC_A返回的表1的内容插入到PROC_B内部的一个临时表中,TABLE1的列可能会更改
我正在PROC_B中尝试类似的操作
INSERT INTO #tem1 FROM EXEC PROC_A
我该怎么办?
如果您的临时表已经定义,那么您可以
INSERT INTO #tem1
EXEC PROC_A
如果没有的话
sELECT * INTO #tem1
FROM OPENROWSET('SQLNCLI', 'server=(local);trusted_connection=yes',
'your query')
您还需要启用ADhoc分布式查询才能使开放式查询正常工作。
sp_configure 'show advanced options', 1
reconfigure
go
sp_configure 'Ad Hoc Distributed Queries', 1
reconfigure
您还可以在2012年使用描述结果集DMV,以查看查询返回的数据类型。其想法是将描述结果集的输出插入到temp表中,并动态地构建一个。将被退回..
sp_describe_first_result_set @tsql = N'SELECT object_id, name, type_desc FROM sys.indexes'
CREATE TABLE #tmp
(
Col1 SMALLINT,
Col2 SMALLINT,
Col3 SMALLINT,
Col4 SMALLINT,
Col5 SMALLINT,
.
.
.
)
INSERT INTO #tmp
EXEC PROC_A
SELECT * FROM #tmp
Drop table #tmp
这为您工作...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.