Добавление столбца Identity в Ingres Db

Я пытаюсь добавить столбец идентификатора в таблицу с помощью альтернативного запроса с использованием Ingres DB. При создании таблицы я могу определить столбец идентификатора, но не тогда, когда я пытаюсь добавить его с помощью альтернативного запроса. Пожалуйста, предложите мне другой запрос.


person Sriparna Banerjee    schedule 15.03.2018    source источник


Ответы (1)


Это не так просто, как вы думаете, «изменить таблицу» имеет ряд ограничений, которые делают эту операцию многоэтапной. Попробуй это:

create table something(a integer, b varchar(20)) with page_size=8192;
alter table something add column c integer not null with default;
modify something to reconstruct;
alter table something alter column c integer not null generated always as identity;
modify something to reconstruct;
person G Jones    schedule 15.03.2018
comment
Удивительно .. это работает ... Спасибо !!!! Другая проблема .. M пытается вставить 100 000 записей за один раз .. но это не работает .. Вставляется только 461 запись. Как это исправить - person Sriparna Banerjee; 19.03.2018
comment
но он получает значение 0. Весь столбец имеет значение 0 .. Он не становится идентификатором. - person Sriparna Banerjee; 21.03.2018
comment
Возможно, ошибка была исправлена ​​в более поздней версии или на уровне патча, здесь все выглядит нормально (с использованием Ingres 10.2.0 + p15291). - person G Jones; 21.03.2018