SQL使用表中的参数执行SP

时间:2016-02-24 13:02:47

标签: sql stored-procedures parameter-passing

我有一个存储过程,我可以执行:

exec Clientinvoicing_BackUPReports @HeadofficeclientinvoiceID = 9, @Outletid = 208,  @ReportStartdate =  '2015-23-01', @ReportEnddate = '2015-19-02'

我希望能够使用我表中的参数。我的桌子有以下字段

Rownumber, HeadofficeclientinvoiceID,  Outletid, ReportStartdate, ReportEnddate 

我也想为表中的每一行运行存储过程。表中有20条记录(rownumber 20)

1 个答案:

答案 0 :(得分:0)

您可以编写调用存储过程的函数。因此,您需要定义一个获取表值参数并执行存储过程的函数。评估查询中的函数。

示例功能:

FUNCTION total_comp
   (salary_in IN employee.salary%TYPE, bonus_in IN employee.bonus%TYPE)
   RETURN NUMBER
IS
BEGIN
   RETURN salary_in + NVL (bonus_in, 0);
END;

使用示例:

SELECT employee_name, total_comp (salary, bonus)
  FROM employee;

Source

您也可以通过使用cursor迭代表格行来完成此操作。