Search notes:

dbms_tf.table_t

drop table tab purge;

create table tab (
   col_txt  varchar2(10),
   col_num  number (5,2),
   col_dat  date
);


create or replace package pkg as

    function describe(tab in out dbms_tf.table_t) return dbms_tf.describe_t;

    -- Note, no implementation required for 'func' in package body:
    --
    function func(p_t table) return table pipelined row polymorphic using pkg;

end pkg;
/

create or replace package body pkg as

    function describe(tab in out dbms_tf.table_t) return dbms_tf.describe_t is
    begin

        dbms_output.put_line('schema_name:  ' || tab.schema_name );
        dbms_output.put_line('package_name: ' || tab.package_name);
        dbms_output.put_line('ptf_name:     ' || tab.ptf_name    );

        for i in 1 .. tab.column.count loop
            dbms_output.put_line('  ' || tab.column(i).description.name);
        end loop;

        return null;
    end describe;

end pkg;
/

select * from pkg.func(tab);
Github repository oracle-patterns, path: /Installed/dbms/tf/table_t.sql

See also

dbms_tf

Index