CREATE OR REPLACE PACKAGE test_da
ACCESSIBLE BY ( test_api )
AS
TYPE test_data_row IS RECORD (id INTEGER, text VARCHAR2(100));
TYPE test_data_tab IS TABLE OF test_data_row;
FUNCTION sel_test_data(
p_cnt INTEGER
)
RETURN test_data_tab PIPELINED;
END test_da;
Package created.
CREATE OR REPLACE PACKAGE BODY test_da
AS
FUNCTION sel_test_data(
p_cnt INTEGER
)
RETURN test_data_tab PIPELINED
IS
l_row test_data_row;
BEGIN
FOR rec IN 0..p_cnt
LOOP
l_row.id := rec;
l_row.text := 'Test data row '||rec;
PIPE ROW (l_row);
END LOOP;
RETURN;
END sel_test_data;
END test_da;
Package Body created.
CREATE OR REPLACE PACKAGE test_api
AS
PROCEDURE print_test_data_to_dbms;
END test_api;
Package created.
CREATE OR REPLACE PACKAGE BODY test_api
AS
PROCEDURE print_test_data_to_dbms
IS
BEGIN
FOR rec IN (select *
from TABLE(test_da.sel_test_data(10)))
LOOP
dbms_output.put_line(rec.id || ' - ' || rec.text);
END LOOP;
END print_test_data_to_dbms;
END test_api;
Package Body created.
exec test_api.print_test_data_to_dbms
ORA-06553: PLS-904: insufficient privilege to access object TEST_DA ORA-06512: at "SQL_GKDFCIQLSKNURIYIOUJFGQWNX.TEST_API", line 8 ORA-06512: at "SQL_GKDFCIQLSKNURIYIOUJFGQWNX.TEST_API", line 8 ORA-06512: at line 1 ORA-06512: at "SYS.DBMS_SQL", line 1721More Details: https://docs.oracle.com/error-help/db/ora-06553