Calling an autonomous function from SQL.
SQL> CREATE TABLE MyTable (
2 num_col NUMBER,
3 char_col VARCHAR2(60)
4 );
Table created.
SQL>
SQL> CREATE OR REPLACE FUNCTION LogParam(p1 IN NUMBER)
2 RETURN NUMBER AS
3 PRAGMA AUTONOMOUS_TRANSACTION;
4 BEGIN
5 INSERT INTO MyTable (num_col, char_col)
6 VALUES (p1, 'Logged!');
7 COMMIT;
8 RETURN p1;
9 END LogParam;
10 /
Function created.
SQL>
SQL> SELECT LogParam(1) FROM dual;
SELECT LogParam(1) FROM dual
*
ERROR at line 1:
ORA-00034: cannot COMMIT in current PL/SQL session
ORA-06512: at "JAVA2S.LOGPARAM", line 7
SQL>
SQL> SELECT num_col
2 FROM MyTable
3 WHERE char_col = 'Logged!';
no rows selected
SQL>
SQL> drop table MyTable;
Table dropped.
SQL>
SQL>
Related examples in the same category