«Атрибуты, указанные для столбца, несовместимы с существующим определением столбца» - PullRequest
0 голосов
/ 13 декабря 2018

Уже давно.

При использовании DB2 10 для z / OS меня попросили изменить определенный столбец в таблице с десятичного (7,2) на десятичный (7,4).Звучит просто, правда?

alter table MySchema.MyTable
alter column myColumn
set data type decimal(7,4);

Но DB2 отвечает следующей ошибкой: «Атрибуты, указанные для столбца 'MYCOLUMN', несовместимы с существующим определением столбца."

Я думал, что преобразование изот десятичного (7,2) к десятичному (7,4) было бы довольно просто, но DB2 не согласна.

За исключением того, что вы бросили стол и воссоздали его с нуля, какие у меня есть альтернативы?

Заранее спасибо!

Дэйв

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Причина, по которой Db2 не нравится это изменение, в том, что вы переходите с 99999,99 на 999,9999

Это действительно то, что вы хотите?Переход от (7,2) к (9,4) просто добавит еще два десятичных знака без потери каких-либо данных и должен быть разрешен с помощью Db.

Db2, поскольку i дает предупреждение, но позволяет игнорироватьпредупреждение ...

0 голосов
/ 13 декабря 2018

Создайте новый столбец ALTER ADD COLUMN правильного типа, используйте UPDATE, чтобы заполнить его, ALTER DROP COLUMN старый столбец.RENAME COLUMN поэтому задайте имя исходного столбца.

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