CREATE TABLE kscope
( year NUMBER,
city VARCHAR2(30) );
INSERT INTO kscope
VALUES(2019,'Seattle');
INSERT INTO kscope
VALUES(2018,'Orlando');
INSERT INTO kscope
VALUES(2017,'San Antonio');
COMMIT;
CREATE TABLE many_rows AS
SELECT *
FROM kscope
WHERE 1 = 2;
BEGIN
FOR counter IN 1..5000 LOOP
INSERT INTO many_rows
VALUES(counter,counter);
END LOOP;
END;
/
COMMIT;
SELECT *
FROM kscope
CREATE OR REPLACE PACKAGE kscope_ptf AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T;
END;
CREATE OR REPLACE PACKAGE BODY kscope_ptf AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T IS
BEGIN
RETURN NULL;
END;
END;
CREATE OR REPLACE FUNCTION kscope_func(p_tbl IN TABLE )
RETURN TABLE PIPELINED
ROW POLYMORPHIC USING kscope_ptf;
SELECT *
FROM kscope_func(kscope)
CREATE OR REPLACE PACKAGE BODY kscope_ptf AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T IS
BEGIN
RETURN DBMS_TF.DESCRIBE_T();
END;
END;
SELECT *
FROM kscope_func(kscope)