Сделать столбец обнуляемым в DB2, когда включен сбор данных - PullRequest
19 голосов
/ 02 августа 2011

Я использую db2 версии 9.7 *, и, кажется, невозможно сделать столбец NOT NULL обнуляемым любым простым способом.

К сожалению, решение об использовании более удобной для разработчиков базы данных не доступно. В основном, в MySQL, я хочу сделать что-то вроде этого (где MY_COLUMN раньше был VARCHAR (200) NOT NULL):

ALTER TABLE MY_TABLE MODIFY COLUMN MY_COLUMN VARCHAR(200);

Ответы [ 3 ]

27 голосов
/ 02 августа 2011

Мой последний запрос закончился примерно так:

ALTER TABLE MY_TABLE DATA CAPTURE NONE;
ALTER TABLE MY_TABLE ALTER MY_COLUMN DROP NOT NULL;
ALTER TABLE MY_TABLE DATA CAPTURE CHANGES;
12 голосов
/ 02 августа 2011

Документация говорит, что ALTER TABLE имеет возможность DROP NOT NULL

5 голосов
/ 03 марта 2016

ALTER TABLE_NAME ALTER COLUMN COLUMN_NAME DROP NOT NULL;

работает в DB2 9.7 и новее.Как бы вы ни захотели выполнить реорганизацию таблицы (в 9.7 db2 переводит таблицу в состояние ожидания реорганизации, то же самое и в 10.5 FP 5):

call sysproc.admin_cmd ('reorg table TABLE_NAME');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...