Запуск нескольких хранимых процедур и выход при возникновении ошибки - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть хранимая процедура, которая запускает серию хранимых процедур.Каждая процедура будет вставлена ​​в таблицу, которая имеет статус столбца и Err_msg.Поэтому, если я запускаю 1-ю процедуру и в сообщении об ошибке отображается состояние «Сбой», я хочу полностью завершить процедуру.Как я могу это сделать?Stored procedure to run multiple procedures

Status and err_msg columns

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Чтобы выйти из процедуры в PL / SQL, мы используем простой оператор RETURN.

Если я правильно предположил, field3 - это параметр OUT каждой вашей процедуры, вызываемой внутри вашей основной процедуры.

CREATE OR REPLACE PROCEDURE sequence_test 
AS
field3 VARCHAR2(200) := 'Success';
BEGIN

MARS_TRUNCATE_TABLES('test','test',field3);
IF field3 like 'Failed%'  THEN -- use  = 'Failed' if it has only that.
  RETURN;  --exit the procedure completely.
END IF;

MARS_INSERT_TABLE('test','test',field3);
IF field3 like 'Failed%'  THEN 
  RETURN;  
END IF;

-- ...
-- ... Similar statements for other procedure calls.

END;
/ 
0 голосов
/ 04 декабря 2018

Вы можете использовать « Begin Tran ».

Документ

...