关于sql:查询存储过程的结果集

Querying the resultset of a stored proc

本问题已经有最佳答案,请猛点这里访问。

是否可以查询存储过程的结果集?

我只有对存储过程的执行权限,当我运行存储过程时,它会显示数百万行。我需要查询存储过程的结果集。

最有效/最简单的方法是什么?

仅供参考,我使用SQL Server 2012。


如果你知道结果是什么样子的,那么你可以把它们放在一张表中。首先创建表,然后使用exec()exec sp_executesql

例如:

1
2
3
4
5
6
7
8
DECLARE @LINES TABLE (id INT IDENTITY(1, 1) PRIMARY KEY, line VARCHAR(8000));

INSERT INTO @LINES(line)
    EXEC sp_executesql N'sp_helptext ''information_schema.tables''';

SELECT *
FROM @LINES
ORDER BY id;