Create the PTF implementation package noop_p.
CREATE PACKAGE noop_p AS
FUNCTION describe(tab IN OUT DBMS_TF.table_t)
RETURN DBMS_TF.describe_t;
PROCEDURE noop_fetch;
END noop_p;
Package created.
To provide a method name override, you can specify the new method names using DBMS_TF.Method_Names collection.
CREATE PACKAGE BODY noop_p AS
FUNCTION describe(tab IN OUT DBMS_TF.table_t)
RETURN DBMS_TF.describe_t AS
methods DBMS_TF.methods_t := DBMS_TF.methods_t(DBMS_TF.fetch_rows => 'Noop_Fetch');
BEGIN
RETURN DBMS_TF.describe_t(method_names => methods);
END;
PROCEDURE noop_fetch AS
BEGIN
RETURN;
END;
END noop_p;
Package Body created.
The noop PTF is defined to execute the noop_p when it is invoked.
CREATE FUNCTION noop (t TABLE)
RETURN TABLE PIPELINED ROW POLYMORPHIC USING noop_p;
Function created.
The PTF is invoked in the FROM clause of a query block.
SELECT *
FROM noop(scott.emp)
WHERE deptno =10
EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO | 7839 | KING | PRESIDENT | - | 17-NOV-81 | 5000 | - | 10 | 7782 | CLARK | MANAGER | 7839 | 09-JUN-81 | 2450 | - | 10 | 7934 | MILLER | CLERK | 7782 | 23-JAN-82 | 1300 | - | 10 |
---|