Oracle. Инкремент обращений к пакету

Рейтинг: 1Ответов: 0Опубликовано: 16.07.2023

В пакете есть несколько процедур. Они могут вызываться отдельно, а могут вызываться последовательно в одном блоке:

begin
  proc_1;
  proc_2;
end;

Надо при каждом таком обращении к пакету, производить определенное действие, например выделять следующее значение из последовательности.

Попробовал в тело пакета добавить переменную v_check_init := 0. И проверять ее в каждой процедуре, если 0, то выполнить действие, поменять на 1. Предполагал что proc_1 изменит, а proc_2 уже увидит что она равна 1 и действие выполнено не будет. Так и происходит при самом первом запуске.

Но эта переменная сохраняет свое последнее значение между запусками блоков. То есть она не устанавливается в 0 при следующем запуске, а так и сохраняет 1.

Подскажите, как мне можно организовать такой механизм учета обращений к пакету? Или чтобы значение этой переменной при каждом последующем запуске сбрасывалось снова на 0.

Ответы

Ответов пока нет.