问题描述
|
我有一个包含过程B的存储过程A。
存储的过程B进行插入并返回一行信息。
有没有办法在存储的过程A中访问该信息?
解决方法
您可以执行存储过程并将其选择到临时表中。
Create #table ()....
INSERT INTO #table EXEC your_procedure
真正困难的唯一时间(可能是不可能的,我从未见过)是在存储过程返回多个记录集(而不是多个记录)并且记录集具有不同的字段时。
编辑:
您还可以使用表变量(DECLARE @my_table TABLE()
)执行相同的操作。在您的情况下,您将需要同时尝试两者,然后看看哪个更好。
http://www.sql-server-performance.com/2007/temp-tables-vs-variables/
,您可以创建一个临时表,然后从内部过程调用中插入-exec。
分享资料
向下滚动到Insert-Exec部分。
,我建议您创建一个Table variable
并将行信息插入其中
编辑:
请注意,如果不在“事务”下并且不将其与其他表连接在一起,并且仅用作查询中包含行信息的中介,它将很有用。