Хорь |
---|
Что имеем: Firebird 2.5.1 SC (WI-V6.3.1.26332)
Задача: По достижении генератором значения N обнулить его. |
И что потом?
Хорь |
---|
Вопрос: есть ли возможность силами FB реализовать транзакционно-независимое решение данной задачи? |
Как вариант, ввести правило - "Получаем значение генератора A только вызывая процедуру A".
create procedure A
returns (
RId integer)
as
declare variable N integer;
begin
select N from TuneParametrs into N;
RId=Gen_Id(A,1);
if (RId=N)
then RId=Gen_Id(A,-RId);
while (RId>N) do
RId=Gen_Id(A,1);
end