powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как сбросить счетчик as identity Firebird 3?
16 сообщений из 16, страница 1 из 1
Как сбросить счетчик as identity Firebird 3?
    #39203083
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем
При создание таблице указал ID as identity хочу обнулить как это сделать?
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39203105
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatle,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
create table objects (
  id integer generated by default as identity primary key,
  name varchar(15)
);

/*что делаем, потом сбрасываем счетчик на 10000*/
alter table objects
  alter id restart with 10000;
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39203110
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RADSeatle,

Код: sql
1.
2.
ALTER TABLE t
ALTER ID RESTART WITH 0;
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39203122
RADSeatle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229661
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисRADSeatle,

Код: sql
1.
2.
ALTER TABLE t
ALTER ID RESTART WITH 0;


Ожидал что изменится значение системного генератора для T.ID.
Получил:
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
lock conflict on no wait transaction.
unsuccessful metadata update.
object TABLE T is in use.


В соседнем окне висел non-commited insert в T.
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229679
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229690
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb user,

наверное особенности реализации.

А можно вопрос зачем это понадобилось?
IDENTITY это конечно удобно в ряде случаев, но оно явно не для того чтобы его постоянно сбрасывать
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229700
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 5 мая 2016 г. 11:12:48:

Симонов Денис> IDENTITY это конечно удобно в ряде случаев, но оно явно не для того чтобы его постоянно сбрасывать
дай возможность дураку что-то использовать НЕ ПО НАЗНАЧЕНИЮ, и именно так он будет это применять.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229722
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, Симонов Денис!
You wrote on 5 мая 2016 г. 11:12:48:

Симонов Денис> IDENTITY это конечно удобно в ряде случаев, но оно явно не для того чтобы его постоянно сбрасывать
дай возможность дураку что-то использовать НЕ ПО НАЗНАЧЕНИЮ, и именно так он будет это применять.


не нравишься ты мне, но сейчас прав )))
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229732
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисА можно вопрос зачем это понадобилось?
Как замена генераторам. Теперь знаю что есть особенности.
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229733
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb user,

ну генератор он сам по себе. А IDENTITY хоть и работает на основе внутреннего генератора всё-таки часть метаданных таблицы.

Если честно, то и в случае генераторов сбрасывание его как часть бизнес логики в многопользовательской среде попахивает. Как и всякое изменение метаданных на лету.
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229753
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисЕсли честно, то и в случае генераторов сбрасывание его как часть бизнес логики в многопользовательской среде попахивает. Как и всякое изменение метаданных на лету.

Если честно я вынес 2 случая, когда можно/нужно манипулировать значениями генератора:
- разнесение диапазонов генерируемых ID по разным базам (к примеру для разных филиалов) с последующим сливанием данных в одну центральную БД
- использование значения генератора в качестве флага для прерывания "тяжелого" запроса

Симонов Денис Как и всякое изменение метаданных на лету.
Это отдельная песня.
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229761
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисЕсли честно, то и в случае генераторов сбрасывание его как часть бизнес логики в многопользовательской среде попахивает. Как и всякое изменение метаданных на лету.
Значение внутреннего генератора значений для поля - это не метаданные. А то получается что мы при каждом инсерте метаданные правим :)
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229763
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb userА то получается что мы при каждом инсерте метаданные правим :)set generator и gen_id таки 2 сильно разные команды.
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229802
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevskyfb userА то получается что мы при каждом инсерте метаданные правим :)set generator и gen_id таки 2 сильно разные команды.
Код: sql
1.
2.
alter sequence G restart with 100
select gen_id(G, -gen_id(G, 0) + 100) from rdb$database


Первый срабатывает по коммиту, а второй сразу.

Очень нужна конструкция типа gen_id(T.ID, n).
...
Рейтинг: 0 / 0
Как сбросить счетчик as identity Firebird 3?
    #39229814
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Fb User!
You wrote on 5 мая 2016 г. 12:58:49:

Fb User> Очень нужна конструкция
и снова возвращаемся к вопросу о насущной необходимости глотания бильярдного шара
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как сбросить счетчик as identity Firebird 3?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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