Displaying SQLCODE and SQLERRM
CREATE TABLE errors (
code NUMBER,
message VARCHAR2(64),
happened TIMESTAMP);
DECLARE
NAME employees.last_name%TYPE;
v_code NUMBER;
v_errm VARCHAR2(64);
BEGIN
SELECT last_name
INTO NAME
FROM employees
WHERE employee_id = -1;
EXCEPTION
WHEN OTHERS THEN
v_code := SQLCODE;
v_errm := Substr(sqlerrm,1,64);
dbms_output.Put_line('Error code '
||v_code
||': '
||v_errm);
-- Normally we would call another procedure, declared with PRAGMA
-- AUTONOMOUS_TRANSACTION, to insert information about errors.
INSERT INTO errors
VALUES (v_code,
v_errm,
systimestamp);
END;
/
OUTPUT:-
Error code 100: ORA-01403: no data found
PL/SQL procedure successfully completed.
0 comments:
Post a Comment