CREATE OR REPLACE PACKAGE kscope_ptf AS
FUNCTION describe (p_tbl IN OUT DBMS_TF.TABLE_T )
RETURN DBMS_TF.DESCRIBE_T;
PROCEDURE fetch_rows;
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
-- STEP 1 : Tell the cursor to be ready for looming
-- row replication
RETURN DBMS_TF.DESCRIBE_T(row_replication => true);
END;
PROCEDURE fetch_rows IS
BEGIN
-- STEP 2 : Replicate the rows at fetch time
DBMS_TF.ROW_REPLICATION(replication_factor => 3);
END;
END;
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
-- STEP 1 : Tell the cursor to be ready for looming
-- row replication
RETURN DBMS_TF.DESCRIBE_T(row_replication => true);
END;
PROCEDURE fetch_rows IS
v_repl_tab DBMS_TF.TAB_NATURALN_T;
BEGIN
-- STEP 2 : Replicate the rows at fetch time
v_repl_tab(1) := 1;
v_repl_tab(2) := 0;
v_repl_tab(3) := 3;
DBMS_TF.ROW_REPLICATION(replication_factor => v_repl_tab);
END;
END;
SELECT *
FROM kscope_func(kscope)