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

Тема в разделе "SQL", создана пользователем alb, 13 окт 2014.

  1. alb

    alb Well-Known Member

    Регистрация:
    13 июл 2005
    Сообщения:
    212
    Симпатии:
    0
    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
     
  2. alb

    alb Well-Known Member

    Регистрация:
    13 июл 2005
    Сообщения:
    212
    Симпатии:
    0
    выше указанное пытался делать после не удачной попытки выполнить следующее
    ALTER TABLE "KTZ"."GU12TST" ADD PRIMARY KEY (ColumnName);
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
  4. alb

    alb Well-Known Member

    Регистрация:
    13 июл 2005
    Сообщения:
    212
    Симпатии:
    0
    решено
    примари кей не создовали но нашли как добавить к существущей таблице инкрментальное поле

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

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

    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;
     
Загрузка...

Поделиться этой страницей