在另一个proc中处理proc结果

时间:2014-01-22 08:10:38

标签: sql sql-server

以下是解释我的问题的说明:

有一个存储的proc'subPROC',它取得了一个绩效水平 - 并返回符合这个绩效水平的学生ID(在复杂的算法之后)。

现在,我必须编写一个新的'superPROC'来取得绩效水平,然后返回学生的名字。
为了避免重写逻辑,我会调用上述过程来接收学生证 此后,我将这些ID提供给查询以获取相应的名称。

如何调用'subPROC',接收其输出 - 并将其作为逗号分隔列表输入IN子句中,作为我的'superPROC'代码的一部分。

如果可能,我想避免创建临时表。

1 个答案:

答案 0 :(得分:0)

您最好的选择是使用可在SP,函数甚至视图中调用的User Defined Function

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 which returns a table