dil: (Default)
dil ([personal profile] dil) wrote2005-11-08 06:11 pm
Entry tags:

Ещё немножко, и я с этим вашим ораклом совсем свихнусь

У sequence нельзя сбросить START WITH. Зато можно удалить sequence совсем и создать заново.
Но при удалении отваливаются триггеры, которые использовали этот sequence.
Поэтому после создания sequence надо не забыть перекомпилировать триггер.
Вот такая загогулина, панимаишь..

[identity profile] dil.livejournal.com 2005-11-09 09:58 am (UTC)(link)
И шоб потом этот триггер продолжал увеличивать номера от впихнутой записи, а не от прошлой инкарнации базы..

[identity profile] mastre.livejournal.com 2005-11-09 11:35 am (UTC)(link)
так то оно так, но насколько я понял идею разработчиков, sequence используется для получения уникальных записей, а не последовательных. поэтому так и сделали -- не все ли равно какой PK будет 1 или 4378.
есть утилки, например pl/sql developer позволяет одним кликом мыши сделать recompile referencing objects.
вот обидно было когда (в 8.0 по крайней мере) при create or replace view убивались все instead of триггеры на эту view, и упоминания о такой фиче я в доках не нашел...