-2
,我在下面的代码得到一个错误类型不匹配过程的参数
create or replace package pkg
is
TYPE ARRAY_TAB1 is VARRAY(120) OF VARCHAR2(30);
ARRAY_TAB ARRAY_TAB1;
END;
/
show errors;
错误是在过程参数的地方,我认为)
CREATE OR REPLACE PROCEDURE FILTER_DATA(NESTED_TAB IN OUT VARCHAR2,
ARR_TAB IN OUT pkg.ARRAY_TAB%TYPE)
IS
....
BEGIN
...
END;
CREATE OR REPLACE PROCEDURE MAIN_PROC
is
NESTED_TAB VARCHAR2(30);
TYPE ARRAY_TAB1 IS VARRAY(120) OF VARCHAR2(30);
pass_array ARRAY_TAB1;
.......
BEGIN
NESTED_TAB := 'BOOKING';
.......
pass_array := new ARRAY_TAB1('');
FILTER_DATA(NESTED_TAB,pass_array);
END;
/
EXEC MAIN_PROC()
I AM GETTING AN ERROR
WHICH MAD ME ME MAD ..请问任何人都知道解决方案
Warning: Procedure created with compilation errors.
Errors for PROCEDURE MAIN_PROC:
LINE/COL ERROR
-------- -----------------------------------------------------------------
11/4 PL/SQL: Statement ignored
11/4 PLS-00306: wrong number or types of arguments in call to
'FILTER_DATA'
BEGIN MAIN_PROC(); END;
*?
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00905: object SYS.MAIN_PROC is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
[PLS-00306:错号码或类型的呼叫参数“OUTPUT \ _array”]的可能重复(HTTP: //sackoverflow.com/.com/ issues/22759571/pls-00306-wrong-number-or-types-of-arguments-in-call-to-output-array) – user272735