• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как Создать 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
 
A

alb

выше указанное пытался делать после не удачной попытки выполнить следующее
ALTER TABLE "KTZ"."GU12TST" ADD PRIMARY KEY (ColumnName);
 
H

hosm

- мб, поможет?
 
A

alb

решено
примари кей не создовали но нашли как добавить к существущей таблице инкрментальное поле

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!