powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / как сдвинуть sequence?
7 сообщений из 7, страница 1 из 1
как сдвинуть sequence?
    #34797006
slavakiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно в sequense в величину start with поставить значение полученное оператором select max(id)+1 from testtable;
Но в процедуре create, alter sequence не разрешено.
Единственное что работает - запрашивать в цикле nextval сколько нужно. Но не красиво. В Оракле было без проблем.
...
Рейтинг: 0 / 0
как сдвинуть sequence?
    #34797221
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

А ALTER SEQUENCE seq.name RESTART WITH value не подходит?
...
Рейтинг: 0 / 0
как сдвинуть sequence?
    #34797431
slavakiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Именно он. Но вставить этот оператор в процедуру не разрешается. А мне value нужно вычислять с помощью select.
...
Рейтинг: 0 / 0
как сдвинуть sequence?
    #34797560
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
create procedure myproc (out state smallint)
language sql
modifies sql data
begin
declare exit handler for sqlexception, sqlwarning, not found
set state = 1;

set state = 0;

call SYSPROC.ADMIN_CMD('ALTER SEQUENCE MYSEC RESTART WITH 3');

end!

Вот так проблем создания процедуры нет, работает ли - не пробовал. =)
...
Рейтинг: 0 / 0
как сдвинуть sequence?
    #34797680
slavakiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не работает. В списке допустимых операторов ADMIN_CMD нет ALTER/CREATE SEQUENCE.
...
Рейтинг: 0 / 0
как сдвинуть sequence?
    #34797748
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create procedure seq_restart
(
  sname	varchar( 20 )
, val	int
)
language sql
begin
  declare stmt varchar( 128 );
  set stmt='alter sequence '||sname||' restart with '||char(val);
  execute immediate stmt;
end@
...
Рейтинг: 0 / 0
как сдвинуть sequence?
    #34797793
slavakiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Так работает.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / как сдвинуть sequence?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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