SQL>
SQL> create or replace TYPE number_table IS TABLE OF INTEGER;
2 /
Type created.
SQL> create or replace PROCEDURE print_list(list_in NUMBER_TABLE) IS
2 BEGIN
3 FOR i IN list_in.FIRST..list_in.LAST LOOP
4 IF list_in.EXISTS(i) THEN
5 DBMS_OUTPUT.PUT_LINE('List ['||list_in(i)||']');
6 END IF;
7 END LOOP;
8 END print_list;
9 /
Procedure created.
SQL>
SQL>
SQL>
SQL> DECLARE
2 number_list NUMBER_VARRAY := number_varray(1,2,3,4,5);
3
4 BEGIN
5 print_list(number_list);
6
7
8 number_list.TRIM(3);
9
10 print_list(number_list);
11 END;
12 /
print_list(number_list);
*
ERROR at line 5:
ORA-06550: line 5, column 4:
PLS-00306: wrong number or types of arguments in call to 'PRINT_LIST'
ORA-06550: line 5, column 4:
PL/SQL: Statement ignored
ORA-06550: line 10, column 4:
PLS-00306: wrong number or types of arguments in call to 'PRINT_LIST'
ORA-06550: line 10, column 4:
PL/SQL: Statement ignored
|