Изменить текущее значение последовательности

I00N
Дата: 10.12.2007 22:42:56
Здравствуйте!

Для того, чтобы изменить текущее значение последовательности seq на некое N я делаю следующие действия:

1) вычитаю из N seq.currval
2) изменяю INCREMENT BY на вычисленное значение
3) считываю seq.nextval
4) изменяю INCREMENT BY на 1

Подозреваю, что я выбрал способ "через то самое место". Можно ли сделать проще?
для последовательности
Дата: 10.12.2007 22:48:21
Это штатный способ.
Alexei_Unregistered
Дата: 11.12.2007 07:34:00
Можно порекомендовать на этапе 2 также задать MIN/MAXVALUE,
чтобы на этапе 3 не проскочить мимо нужного значения
(если, например, другая сессия дернет последовательность),
соответственно, на этапе 4 вернуть исходные значения.
Elic
Дата: 11.12.2007 08:55:33
I00N
Для того, чтобы изменить текущее значение последовательности seq на некое N я делаю следующие действия
Единственное, чего этот способ не позволяет сделать, - это сбросить последовательность в минимальное значение.
Alexei_Unregistered
(если, например, другая сессия дернет последовательность)
Ну а чтобы обезопаситься от других сессий, последовательность лучше на время переименовать.
для последовательности
Дата: 11.12.2007 08:59:25
Elic
Единственное, чего этот способ не позволяет сделать, - это сбросить последовательность в минимальное значение.
Cycle ?
Elic
Дата: 11.12.2007 09:29:31
для последовательности
Elic
Единственное, чего этот способ не позволяет сделать, - это сбросить последовательность в минимальное значение.
Cycle ?
Если это констатация факта (маловероятного), то да. Ежели способ - то нет. STFF Обнуление сиквенции
для последовательности
Дата: 11.12.2007 09:42:25
Elic
Если это констатация факта (маловероятного), то да. Ежели способ - то нет.
Именно первое - констатация факта. А вдруг? Ведь маловероятно - значит вполне допустимо! :)
"Почти невозможное - возможно!!!"(с)