powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Добавить столбец в таблицу
5 сообщений из 5, страница 1 из 1
Добавить столбец в таблицу
    #40061783
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос: реально ли как-то добавить в существующую таблицу FB3 столбец с автоинкрементом без триггера?

Так не прокатывает, говорит что уже есть столбцы с NULL и задать другой default не даёт...
Код: sql
1.
2.
ALTER TABLE USERS
    ADD ID INTEGER GENERATED BY DEFAULT AS IDENTITY;



P.S: Это, кстати, нормально, когда говоришь что в качестве дефолтного значения должен использоваться identity, а он говорит что нет значения в столбце, поэтому не могу?... ИМХО это не логично.
...
Рейтинг: 0 / 0
Добавить столбец в таблицу
    #40061787
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

всё логично. Потому что ключевое слово DEFAULT здесь обозначает не совсем то что ты думаешь. Почитай об IDENTITY в руководстве по SQL 4.0, тогда поймёшь что BY DEFAULT это только один из вариантов IDENTITY
...
Рейтинг: 0 / 0
Добавить столбец в таблицу
    #40061788
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. единственный вариант - перелить данные в GTT, поменять, а потом вернуть на место?

P.S: Ну по-моему если написано что "по-умолчанию", значит это по-умолчанию. В 4.0 вроде ещё ALWAYS есть, но какая разница в случае когда значения нет?..
...
Рейтинг: 0 / 0
Добавить столбец в таблицу
    #40061794
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

я тебе ещё раз говорю DEFAULT здесь это не тоже самое, что выражение для значения по умолчанию.

В Firebird добавление NOT NULL столбца с DEFAULT вообще не обновляет данные таблицы, просто создаётся новый формат, и все строки при чтении старого формата преобразуются к текущему. Для INDENTITY такая штука не возможна по определению.
...
Рейтинг: 0 / 0
Добавить столбец в таблицу
    #40061795
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавлю к вышесказанному, что все манипуляции такого рода нужно проводить в монопольном режиме, переведя базу в шатдаун.
ибо возможны спецэффекты вызванные кешированием метаданных (на CS)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Добавить столбец в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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