处理另一个proc中的PROC结果



以下是解释我的问题的例子:

有一个存储的proc" subproc",该proc" subproc"达到了绩效级别 - 并返回有资格获得此优点级别的学生ID(复杂算法之后)。

现在,我必须编写一个新的proc" superproc",该proc" superproc"占据了优点级别,然后返回学生的名字。
为避免重新编写逻辑,我会致电上述Proc接收学生ID。
此后,我将这些ID馈送到查询中以获取相应的名称。

我如何称呼" subproc",接收其输出 - 并将其作为" SuperProc"代码的一部分中的逗号分隔列表进行。

我想避免在可能的情况下创建临时表。

您的最佳选择是使用用户定义的功能,该功能可以在SP,功能甚至视图中调用。

CREATE FUNCTION subPROC(@ID int) RETURNS int
AS
BEGIN
return 1;
END

您的第二个功能将是

CREATE FUNCTION superPROC(@ID int) RETURNS int
AS
BEGIN
return 1 + @ID;
END

您可以致电

select superPROC(5)

在我看来,您只需创建一个返回表的UDF。

最新更新