我在具有 OUT 参数的包中有一个 sql 过程。包体如下
create or replace
PACKAGE BODY TEST_PACKAGE AS -- body
Procedure TEST_PROCEDURE (
data_1 IN VARCHAR2
, data_2 IN VARCHAR2
, data_3 IN DATE
, out_data OUT VARCHAR2 )
IS
BEGIN
INSERT INTO TEST_TABLE(
COLUMN_1,
COLUMN_2,
COLUMN_3) VALUES(
data_1,
data_2,
data_3
);
out_data:='SUCCESS';
End TEST_PROCEDURE;
END TEST_PACKAGE;
我尝试使用下面的 SQL 命令调用此过程。
DECLARE
sample_out_data VARCHAR2(100);
Begin
TEST_PACKAGE.TEST_PROCEDURE ('test_data_1','test_data_2',2012-02-23,sample_out_data);
END;
但它给了我错误。谁能告诉我如何调用这个程序?
错误如下
Error starting at line 13 in command:
Declare
sample_out_data VARCHAR2(100);
Begin
TEST_PACKAGE.TEST_PROCEDURE ('test_1','test_2',2012-02-23,sample_out_data);
End;
Error report:
ORA-06550: line 4, column 1:
PLS-00306: wrong number or types of arguments in call to 'TEST_PROCEDURE'
ORA-06550: line 4, column 1:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action: