LoginSignup
1
2

More than 5 years have passed since last update.

プライマリキーの変更を行う方法

Posted at

確実にプライマリキーを削除する

ALTER TABLE テーブル名 DROP CONSTRAINT プライマリキー名 CASCADE DROP INDEX

CASCADE DROP INDEX を書かないと、不意にプライマリキーからは外れるけどインデックスがそのまま残るという現象に遭遇してしまう。(Oracle10g以降)
DMPでインポートされたテーブルに対して行うと発生するらしい。

プライマリキーを作成する

ALTER TABLE テーブル名 ADD
  CONSTRAINT プライマリキー名
  PRIMARY KEY (項目, 項目, 項目) USING INDEX
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    TABLESPACE テーブルスペース名
    STORAGE(INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POOL DEFAULT)
    LOGGING
    ENABLE

一時表に対してプライマリキーを指定したい場合は

ALTER TABLE テーブル名 ADD
  CONSTRAINT プライマリキー名
  PRIMARY KEY (項目, 項目, 項目) USING INDEX
    ENABLE
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2