Mega Code Archive

 
Categories / Oracle PLSQL / Stored Procedure Function
 

Return a type

SQL> SQL> CREATE TABLE a_table(COL1 NUMBER); Table created. SQL> SQL> CREATE or replace TYPE debug_o AS OBJECT ( string VARCHAR2(100) );   2  / SQL> CREATE or replace TYPE debug_t AS TABLE OF debug_o;   2  / Type created. SQL> SQL> CREATE OR REPLACE FUNCTION tracer RETURN debug_t AS   2    PRAGMA AUTONOMOUS_TRANSACTION;   3    v_trace debug_t := debug_t();   4  BEGIN   5    v_trace.EXTEND;   6    v_trace(v_trace.LAST) := debug_o('Started Insert At ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));   7    INSERT INTO a_table VALUES(1);   8    COMMIT;   9    v_trace.EXTEND;  10    v_trace(v_trace.LAST) := debug_o('Completed Insert At ' || TO_CHAR(SYSDATE,'HH24:MI:SS'));  11    RETURN(v_trace);  12  END;  13  / Function created. SQL> SQL> SELECT * FROM TABLE(tracer)   2  / STRING ---------------------------------------------------------------------------------------------------- Started Insert At 19:30:39 Completed Insert At 19:30:39 SQL> SQL> drop table a_table; Table dropped. SQL>