如何从存储过程中选择最佳结果

时间:2016-01-04 04:12:48

标签: sql-server

我有一个存储过程spSelectStudents正在被视为一个视图,我没有权利改变它。

我需要像" exec前10名spSelectStudents"

2 个答案:

答案 0 :(得分:1)

如果您知道从存储过程中获得了什么结果,您始终可以创建一个(临时)表(包含与执行存储过程的结果相对应的列)和

INSERT #tmptable EXEC spSelectStudents

然后以任何你想要的方式查询临时表。另一种方法是使用OPENROWSET,但它有自己的问题和权限要求。

答案 1 :(得分:1)

下面的脚本会将过程spSelectStudents的结果移到临时表##tmpTable

 CREATE TABLE ##tmpTable (
  <Your Colums> < datatype >
 )
-- Insert result from the SP to temp table
INSERT INTO ##tmpTable
EXEC spSelectStudents


SELECT TOP 10 * FROM ##tmpTable

Reference Here