У меня есть длинная процедура, которую я хочу сохранить. Это для начала, когда он останавливается, если что-то в базе данных произошло. Как я могу реализовать его в Oracle?Запустить процедуру с момента ее прекращения
ответ
Я решил проблему. Благодаря комментариям я понял, что нецелесообразно вводить некоторые пусковые операции в процедуру.
Я создал таблицу Aux ProcState
, где я сохранил состояние процедуры. Когда я начинаю процедуру, с помощью цикла запросов I в регистрах, которые я не вставленный в ProcState
При выполнении процедуры, я вставляю и совершать валидации, что я не хочу, чтобы проверить againg если СУБД перерывов.
И наконец, когда процедура заканчивается, я удаляю все регистры в ProcState
для начала с 0 в следующий раз.
Надежды Это помогает кому-то.
Вы можете сделать это с помощью собственного решения.
Я совет вам с этим решением:
Помещенный if case
перед каждым dml statements
и проверить это нормально S или нет.
Я имею в виду, что вы можете положить 1
конец каждого dml statements
и проверить его перед запуском этого блока. Это длинный путь, который я знаю, но он решает вашу проблему.
Сохраните состояние в таблице базы данных? –
Но я хочу, чтобы процедура начала где-то в коде, что-то вроде начальной точки. Это возможно? –
Для этого нет ничего встроенного, вам нужно будет разработать собственное решение. –