Как Создать Primary Key На Db2 Zos?

alb

Well-known member
13.07.2005
212
0
#1
DB2 9.1 на zOS

Пытаюсь в одной таблице существующую колонку сделать как Primary.

ALTER TABLE "TableName" ALTER COLUMN ColumnName SET GENERATED ALWAYS IDENTITY ( START WITH 5, INCREMENT 1, MINVALUE 1, MAXVALUE 9223372036854775807 );

Ругается на открывающееся скобку
ILLEGAL SYMBOL "(". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: <END-OF-STATEMENT> ROTATE ADD RENAME APPEND VOLATILE AUDIT. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.18.60
 

alb

Well-known member
13.07.2005
212
0
#2
выше указанное пытался делать после не удачной попытки выполнить следующее
ALTER TABLE "KTZ"."GU12TST" ADD PRIMARY KEY (ColumnName);
 

alb

Well-known member
13.07.2005
212
0
#4
решено
примари кей не создовали но нашли как добавить к существущей таблице инкрментальное поле

сначало выгрузили талибцу

потом пересоздали примерно так

CREATE TABLE "TablName" (
"ColumnName" INTEGER NOT NULL,
"ColumnNameInc" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY (
START WITH 10
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9223372036854775807
NO CYCLE
NO CACHE
NO ORDER )
)
IN "DB"."TS"
AUDIT NONE
DATA CAPTURE NONE
CCSID UNICODE;

после загрузили обратно данные и поменяли инкремент на постоянную так

ALTER TABLE "TableName" ALTER COLUMN "ColumnNameInc" SET GENERATED ALWAYS RESTART WITH 10 SET INCREMENT BY 1 SET MINVALUE 1 SET MAXVALUE 9223372036854775807 SET NO CYCLE SET NO CACHE;