確実にプライマリキーを削除する
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