Я пытаюсь сделать 2 изменения в столбце в DB2 в той же команде alter, и это, похоже, не похоже на мой синтаксис. Есть ли способ сделать это? Если да, то как?Изменение типа данных и значения по умолчанию для DB2 LUW 10.5
create table tbl(col varchar(10))
следующие работы, используя 2 альтер высказывания:
alter table tbl
alter column col set data type varchar(128)
alter table tbl
alter column col set default current user
Следующие попытки оказались неудачными:
alter table tbl
alter column col set data type varchar(128) set default current user
Неожиданный маркер "установлен тип данных VARCHAR (128)" был найдено следующее "TBL alter column col". Ожидаемые маркеры могут включать в себя: "" .. SQLCODE = -104, SQLSTATE = 42601, ВОДИТЕЛЬ = 3.67.28
alter table tbl
alter column col set data type varchar(128) with default current user
Неожиданный маркер "тип данных VARCHAR (128) был найден" после msgstr "изменить набор столбцов". Ожидаемые маркеры могут включать в себя: "" .. SQLCODE = -104, SQLSTATE = 42601, ВОДИТЕЛЬ = 3.67.28
alter table tbl
alter column col set data type varchar(128)
alter column col set default current user
"COL" дубликат имя .. SQLCODE = -612, SQLSTATE = 42711, DRIVER = 3.67.28
Вы не можете изменить один и тот же столбец дважды в одном утверждении - это то, что говорит вам SQLCODE -612. Ваши другие попытки синтаксически неверны. – mustaccio
Согласно http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.messages.sql.doc/doc/msql00612n.html имя столбца можно ссылаться только в один ADD, DROP COLUMN или ALTER COLUMN в одном заявлении ALTER TABLE. – GeekyDaddy
@ GeekyDaddy, который, кажется, отвечает на вопрос; почему бы не перечислить его как ответ? –