从存储过程中获取结果集

问题描述

| 我有一个包含过程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
并将行信息插入其中 编辑: 请注意,如果不在“事务”下并且不将其与其他表连接在一起,并且仅用作查询中包含行信息的中介,它将很有用。