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

А ALTER SEQUENCE seq.name RESTART WITH value не подходит?
...
Рейтинг: 0 / 0
13.09.2007, 13:24
    #34797431
slavakiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сдвинуть sequence?
Именно он. Но вставить этот оператор в процедуру не разрешается. А мне value нужно вычислять с помощью select.
...
Рейтинг: 0 / 0
13.09.2007, 13:48
    #34797560
Hunterik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сдвинуть sequence?
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
13.09.2007, 14:09
    #34797680
slavakiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сдвинуть sequence?
Не работает. В списке допустимых операторов ADMIN_CMD нет ALTER/CREATE SEQUENCE.
...
Рейтинг: 0 / 0
13.09.2007, 14:21
    #34797748
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сдвинуть sequence?
Код: 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
13.09.2007, 14:31
    #34797793
slavakiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сдвинуть sequence?
Спасибо. Так работает.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / как сдвинуть sequence? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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