繁体   English   中英

如何从包中调用过程?

[英]How to call a procedure from a package?

我想从包中调用一个过程:

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'

我究竟做错了什么?

在您的程序包中,仅编写过程调用而无需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;

祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM