powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
16 сообщений из 16, страница 1 из 1
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742228
AdamAry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сбросить для sequence nextval до 1 только путём пересоздания или есть возможность при помощи alter sequence ?
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742238
sharkerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AdamAry,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
procedure reset_seq( p_seq_name in varchar2 )
is
    l_val number;
begin
    execute immediate
    'select ' || p_seq_name || '.nextval from dual' INTO l_val;
    execute immediate
    'alter sequence ' || p_seq_name || ' increment by -' || l_val || ' minvalue 0';
    execute immediate
    'select ' || p_seq_name || '.nextval from dual' INTO l_val;
    execute immediate
    'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';
end;
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742264
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkerr
Код: plsql
1.
procedure reset_seq

Работает только в идеальном односессионном мире.
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742267
sharkerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elicsharkerr
Код: plsql
1.
procedure reset_seq

Работает только в идеальном односессионном мире.

А для чего нужно сбрасывать сиквенсы из разных сессий? Разовая же операция, из одной сессии.
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742271
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkerr
А для чего нужно сбрасывать получать сиквенсы из разных сессий? Разовая же операция, из одной сессии.
так понятнее ?
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742279
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAry,

при пересоздании зависимые хранимые обекты выпадут в инвалид + права

зы
алтерить надо акуратненько, напр не всегда increment by 1

....
stax
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742365
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще кэш и вообще в сиквенсах есть цикл.
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742374
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicsharkerr
Код: plsql
1.
procedure reset_seq

Работает только в идеальном односессионном мире.Сам принцип изменения некствала взад применим как раз в таком идеальном мире.
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742483
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Elicпропущено...
Работает только в идеальном односессионном мире.Сам принцип изменения некствала взад применим как раз в таком идеальном мире.
Сама постановка задачи о сбросе сиквенса в 1 обычно свидетельствует о нерабочем режиме вроде отпочкования чистой схемы под новый проект.
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742496
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous-2-пропущено...
Сам принцип изменения некствала взад применим как раз в таком идеальном мире.
Сама постановка задачи о сбросе сиквенса в 1 обычно свидетельствует о нерабочем режиме вроде отпочкования чистой схемы под новый проект.
не обязательно
напр начало дня, месяца, квартала, года, согласно новой инструкции и тд

.....
stax
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742506
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous-2-Сам принцип изменения некствала взад применим как раз в таком идеальном мире.
Сама постановка задачи о сбросе сиквенса в 1 обычно свидетельствует о нерабочем режиме вроде отпочкования чистой схемы под новый проект.При "отпочковывании" можно и пересоздать сиквенсы, не критично. Но, с другой стороны, зачем?
И поскольку автор не догадался, как делать альтерами, есть основания подозревать в строительстве велосипеда. Но может просто уперлись в размерность ключа. В этом случае достаточно почистить старые данные, задать maxvaluе и cycle. Когда-нибудь оно само перепрыгнет в начало.
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742523
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxне обязательно
напр начало дня, месяца, квартала, года, согласно новой инструкции и тд
Смена/закрытие/открытие общесистемного рабочего/отчетного/какого-там-еще периода - обычно тоже в специальном технологическом режиме происходит, если только система изначально не спроектирована под подобную операцию в онлайне.
Однако второй вариант не соответствует постановке вопроса.

-2-При "отпочковывании" можно и пересоздать сиквенсы, не критично. Но, с другой стороны, зачем?
Пересоздание может приводить необходимости перераздачи грантов, откуда рукой подать до подхода "новая схема создается исключительно из скриптов SVN/VSS/...", а это уже иной технологический уклад :)
Зачем - вопрос философский.
Иногда люди просто хотят начать "с чистого листа", иногда - сделать копию системы для соседнего отдела :)
-2-Но может просто уперлись в размерность ключа. В этом случае достаточно почистить старые данные, задать maxvaluе и cycle. Когда-нибудь оно само перепрыгнет в начало.
Угу. Если, конечно, унаследованный код не закладывается на монотонно возрастающее значение ключа - что довольно популярно при решении интеграционных задач среднего качества (это когда уже ушли от полного копирования, но еще не наелись проблем с выпадающими инкрементами).
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742539
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousСмена/закрытие/открытие общесистемного рабочего/отчетного/какого-там-еще периода - обычно тоже в специальном технологическом режиме происходит, если только система изначально не спроектирована под подобную операцию в онлайне.


конечно режим спроектирован для работы "в идеальном односессионном мире"

....
stax
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742664
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdamAryпри помощи alter sequence ?
20700153
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39742820
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приятно зайти и обнаружить, что любимый скуль ничуть не изменился =)
sharkerr первым ответом сказал как делать
Elic вторым, когда делать

А потом - срач, не относящийся к делу )))
...
Рейтинг: 0 / 0
Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
    #39743036
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexFF__|Приятно зайти и обнаружить, что любимый скуль ничуть не изменился =)

" Как и мой.. AlexFF__|.. срач, не относящийся к делу )))"
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сбросить для sequence nextval до 1 только путём пересоздания или alter sequence
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]