Должно быть хорошо, если вы используете его правильно. Также рекомендуется использовать %TYPE
для параметров, которые ссылаются на столбцы.
DECLARE
v_result BOOLEAN;
PROCEDURE Stuff (val1 IN table_1.a_column%TYPE,
val2 IN table_2.b_column%TYPE,
result OUT BOOLEAN)
IS
BEGIN
INSERT INTO table_1 (a_column) VALUES (val1);
INSERT INTO table_2 (b_column) VALUES (val2);
COMMIT;
result := TRUE;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
--Do stuff;
RAISE;
END;
BEGIN
Stuff(1, 2, v_result);
IF v_result THEN
dbms_output.put_line('SUCCESS');
-- Do other stuff
END IF;
END;
/
SUCCESS