我想从包裹中调用一个程序:
exec TEST_Procedure.TEST_Procedure_PR(Parameter1, Parameter2, Parameter3, Parameter4, Parameter5);
参数全部被引用,我有5个IN参数和1个OUT(参考光标)。
然而,当我直接调用包中的过程时,我得到了我的值。 如果我使用SQL从cmd行调用该过程,则会出现错误:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'TEST_Procedure_PR'
我做错了什么?
答案 0 :(得分:1)
在你的包中只需编写过程调用的代码,而不需要EXEC
语句,这只在SQL * Plus中是必需的。例如,
CREATE PACKAGE BODY YOUR_PACKAGE AS
PROCEDURE SOME_PROCEDURE IS
BEGIN
TEST_Procedure.TEST_Procedure_PR(Parameter1,
Parameter2,
Parameter3,
Parameter4,
Parameter5);
END SOME_PROCEDURE;
END YOUR_PACKAGE;
祝你好运。