User Documentation
Ispirer Capabilities - Oracle Migration
Pricing
Oracle Exception to Exception Handler.
Oracle:
WHEN { exception_name1
[OR exception_name2] ... | OTHERS } THEN statement ; [statement ; ] ... ]
HiRDB:
DECLARE { CONTINUE | EXIT } HANDLER FOR
{ SQLERROR | NOT FOUND | exception_name1 | SQLCODE VALUE sqlcode_value1 }
[ , { SQLERROR | NOT FOUND | exception_name2 | SQLCODE VALUE sqlcode_value2 } ] ...
statement ; [statement ; ] ...
EXAMPLE:
Oracle:
create or replace procedure sp_err
is
Exc1 exception;
Exc2 exception;
var FLOAT;
begin
select id into var from f;
EXCEPTION
WHEN Exc1 or Exc2 THEN
DBMS_OUTPUT.PUT_LINE('Error.');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Unexpected error.');
end;
HiRDB:
create procedure sp_err()
LANGUAGE SQL
begin
DECLARE var FLOAT;
DECLARE Exc1 CONDITION;
DECLARE Exc2 CONDITION;
DECLARE EXIT HANDLER FOR Exc1, Exc2
begin
WRITE LINE ('Error.') ;
end;
DECLARE EXIT HANDLER FOR SQLERROR
begin
WRITE LINE ('Unexpected error.') ;
end;
select id into var from f;
end