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

  • Автор темы Автор темы alb
  • Дата начала Дата начала
A

alb

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
 
выше указанное пытался делать после не удачной попытки выполнить следующее
ALTER TABLE "KTZ"."GU12TST" ADD PRIMARY KEY (ColumnName);
 
решено
примари кей не создовали но нашли как добавить к существущей таблице инкрментальное поле

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

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

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;
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab