-- tabelle di riferimento
-- create table t (c1 varchar2(16));
-- create table log_err (errore varchar2(256));
CREATE OR REPLACE PROCEDURE PRO_INSERT_LOG_ERR(err_msg varchar2) AS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
Insert into log_err values (err_msg);
COMMIT;
END;
CREATE OR REPLACE PROCEDURE PRO_INSERT_T(txt varchar2) AS
BEGIN
insert into t values (txt);
COMMIT;
EXCEPTION WHEN OTHERS THEN
PRO_INSERT_LOG_ERR('Errore TEST_PRAGMA :' || sqlerrm || ' Text not inserted: ' || txt );
ROLLBACK;
END;
SQL>exec pro_insert_t('Marco wants to be a good programmer. This string is too long');
Procedura PL/SQL completata correttamente.
SQL>select * from t;
C1
----------------
A simple example
Pragma Excep
SQL>select * from log_err;
ERRORE
--------------------------------------------------------------------------------
Errore TEST_PRAGMA :ORA-01401: inserted value too large for column Text not inserted:
Marco wants to be a good programmer. This string is too long
A good scientist is a person with original ideas.
A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering. Freeman Dyson
A good scientist is a person with original ideas.
A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering. Freeman Dyson