CREATE TABLE table1
( col1 NUMBER,
col2 NUMBER )
Table created.
INSERT INTO table1
VALUES(19,99)
1 row(s) inserted.
CREATE OR REPLACE PACKAGE poly_pkg AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T;
PROCEDURE open;
PROCEDURE fetch_rows;
PROCEDURE close;
END;
Package created.
CREATE OR REPLACE PACKAGE BODY poly_pkg AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T AS
BEGIN
RAISE_APPLICATION_ERROR(-20000,'Badness');
END;
PROCEDURE open IS
BEGIN
NULL;
END;
PROCEDURE fetch_rows IS
BEGIN
NULL;
END;
PROCEDURE close IS
BEGIN
NULL;
END;
END;
Package Body created.
CREATE OR REPLACE FUNCTION poly_func(p_tbl IN TABLE )
RETURN TABLE PIPELINED
ROW POLYMORPHIC USING poly_pkg;
Function created.
describe when rows would be returned
SELECT *
FROM poly_func(table1)
ORA-62565: The Describe method failed with error(s). ORA-20000: Badness ORA-06512: at "SQL_ZGXWKTIWODLUERJTBBCWBYZCC.POLY_PKG", line 6 ORA-06512: at line 22More Details: https://docs.oracle.com/error-help/db/ora-62565
describe when rows would not be returned
SELECT *
FROM poly_func(table1)
WHERE col1 = 88
ORA-62565: The Describe method failed with error(s). ORA-20000: Badness ORA-06512: at "SQL_ZGXWKTIWODLUERJTBBCWBYZCC.POLY_PKG", line 6 ORA-06512: at line 22More Details: https://docs.oracle.com/error-help/db/ora-62565
CREATE OR REPLACE PACKAGE BODY poly_pkg AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T AS
BEGIN
RETURN NULL;
END;
PROCEDURE open IS
BEGIN
RAISE_APPLICATION_ERROR(-20000,'Badness');
END;
PROCEDURE fetch_rows IS
BEGIN
NULL;
END;
PROCEDURE close IS
BEGIN
NULL;
END;
END;
Package Body created.
open when rows would be returned
SELECT *
FROM poly_func(table1)
ORA-20000: BadnessMore Details: https://docs.oracle.com/error-help/db/ora-20000
open when rows would not be returned
SELECT *
FROM poly_func(table1)
WHERE col1 = 88
no data found
CREATE OR REPLACE PACKAGE BODY poly_pkg AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T AS
BEGIN
RETURN NULL;
END;
PROCEDURE open IS
BEGIN
NULL;
END;
PROCEDURE fetch_rows IS
BEGIN
RAISE_APPLICATION_ERROR(-20000,'Badness');
NULL;
END;
PROCEDURE close IS
BEGIN
NULL;
END;
END;
Package Body created.
fetch when rows would be returned
SELECT *
FROM poly_func(table1)
ORA-20000: BadnessMore Details: https://docs.oracle.com/error-help/db/ora-20000
fetch when rows would not be returned
SELECT *
FROM poly_func(table1)
WHERE col1 = 88
no data found
CREATE OR REPLACE PACKAGE BODY poly_pkg AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T AS
BEGIN
RETURN NULL;
END;
PROCEDURE open IS
BEGIN
NULL;
END;
PROCEDURE fetch_rows IS
BEGIN
NULL;
END;
PROCEDURE close IS
BEGIN
RAISE_APPLICATION_ERROR(-20000,'Badness');
END;
END;
Package Body created.
close when rows would be returned
SELECT *
FROM poly_func(table1)
ORA-20000: BadnessMore Details: https://docs.oracle.com/error-help/db/ora-20000
close when rows would not be returned
SELECT *
FROM poly_func(table1)
WHERE col1 = 88
no data found