Question about reraising an error
I have a PL/SQL procedure where I need to update a record if it is there, or insert a new record if it isn't. I decided to try the update and if that fails because of no_data_found then do the insert. But if I get a different error I just want to reraise that error.
So my options are:
Code:
DECLARE
BEGIN
UPDATE my_table_name SET ...;
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO my_table_name ...;
WHEN OTHERS THEN
RAISE;
END;
Code:
DECLARE
BEGIN
UPDATE my_table_name SET ...;
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO my_table_name ...;
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR ( SQLCODE, SQLERRM );
END;
Is there a reason to do one rather than the other? Which is better?
Thanks. :)