【发布时间】:2011-09-30 01:07:44
【问题描述】:
使用 sqlplus 如何执行具有“foo 表”参数的存储过程?
例如,在以下包中,我如何执行 'Get_AnnotationsForEmp' ?
create or replace PACKAGE "PKG_DROM" as
TYPE tblCostCentreIdentifier IS TABLE OF BLA_COST_CENTRE.CCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
TYPE tblCCEAutoID IS TABLE OF BLA_COST_CENTRE.CCE_AUTOID%TYPE INDEX BY BINARY_INTEGER;
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PROCEDURE Get_AnnotationsForEmp(
EMP_EMPLOYEE_ID_IN IN BLA_EMPLOYEE.EMP_EMPLOYEE_ID%TYPE,
CCE_IDENTIFIER_OUT OUT tblCostCentreIdentifier,
CCE_AUTOID_OUT OUT tblCCEAutoID);
PROCEDURE Get_PastAnnotationsForEmp(
EMP_EMPLOYEE_ID_IN IN BLA_EMPLOYEE.EMP_EMPLOYEE_ID%TYPE,
CCE_IDENTIFIER_OUT OUT tblCostCentreIdentifier,
CCE_AUTOID_OUT OUT tblCCEAutoID);
END PKG_DROM;
如果程序在包'BAR'中并且看起来像这样......
PROCEDURE FOO (ID IN NUMBER);
...然后我知道我可以像这样执行它:
declare
r number;
begin
r := BAR.FOO (1);
end;
但是我怎样才能扩展这个想法以适应“表”的 OUT 参数?
【问题讨论】:
标签: oracle stored-procedures plsql arguments sqlplus