例如:alter table TCOS.TCOS_MESSAGES
  drop constraint TCOS_MESSAGES_PK cascade;
alter table TCOS.TCOS_MESSAGES
  add constraint TCOS_MESSAGES_PK primary key (MSG_CODE,MESSAGE_ID);

解决方案 »

  1.   

    ALTER TABLE "TEST"."T1" DROP CONSTRAINT "PK1";
    ALTER TABLE "TEST"."T1" 
        ADD (CONSTRAINT "PK1" PRIMARY KEY("A","B","C"));
      

  2.   

    如果要保留原来的主键(A,B),则再为改表建另一主键:
    alter table 表名 add (主键名 PRIMARY KEY (A,B,C))如果原来的主键不保留,则需要先使主键失效或先删除主键使主键失效:
        alter table 表名 disable 主键
    但是,如果有一个外部键依赖于该主键,则系统不允许失效.在这种情况下,必须先删掉依赖于该主键的外部键,并使该外部键无效,然后才能使主键无效.删除主键:
        alter table tablename drop constraint 约束名 [cascade]
    如果不加cascade,则要先使外部键无效,删掉依赖于该主键的外部键.然后使该主键无效,删除该主键.如果加 cascade则在删掉主键的同时把依赖于该主键的外部键一起删除.