如何从存储过程中选择

问题描述

您可以使用用户定义的函数视图来代替过程。

一个过程可以返回多个结果集,每个结果集都有自己的模式。它不适合在SELECT语句中使用。

解决方法

我有一个返回行的存储过程:

CREATE PROCEDURE MyProc
AS
BEGIN
    SELECT * FROM MyTable
END

我的实际过程有点复杂,这就是为什么需要存储过程。

是否可以通过调用此过程来选择输出?

就像是:

SELECT * FROM (EXEC MyProc) AS TEMP

我需要使用SELECT TOP X,ROW_NUMBER和一个附加WHERE子句来分页我的数据,并且我真的不想将这些值作为参数传递。