テーブル、インデックススクリプト
※コピーすると改行が抜ける場合はソースをダブルクリックして強調表示を外してからコピーしてください--テーブル作成(詳細) CREATE TABLE TAB1 (COL1 NUMBER(6), COL2 VARCHAR2(10), COL3 VARCHAR2(5), CONSTRAINT "PK_TAB1" PRIMARY KEY(COL1) USING INDEX TABLESPACE "USERS" PCTFREE 10 --最低限ブロックで確保する空き領域 INITRANS 2 --9i以降は最低値2 MAXTRANS 255 --10G以降廃止(一律255) COMPUTE STATISTICS --10G以降のデフォルト STORAGE( INITIAL 64K --LOCAL管理の場合は1エクステントとは限らない NEXT 64K --LOCAL管理の場合無視 MINEXTENTS 1 -- MAXEXTENTS 10 --LOCAL管理の場合は無視 PCTINCREASE 0 --LOCAL管理の場合は無視 FREELISTS 1 --ASSM表領域の場合は無視 FREELIST GROUPS 1 --ASSM表領域の場合は無視 BUFFER_POOL DEFAULT) -- ENABLE) PCTFREE 10 --最低限ブロック内で確保する空き領域(%) PCTUSED 40 --ブロック内の領域が再利用される閾値(%)(ASSMが有効の場合無視) TABLESPACE USERS NOCOMPRESS LOGGING STORAGE( INITIAL 64K --LOCAL管理の場合MINEXTENTSのサイズとあわせて調整される NEXT 64K --LOCAL管理の場合は無視 PCTINCREASE 0 --LOCAL管理の場合は無視 MINEXTENTS 5 -- MAXEXTENTS 100 --LOCAL管理の場合は無視 FREELISTS 1 --ASSM表領域の場合は無視 FREELIST GROUPS 1 --ASSM表領域の場合は無視 BUFFER_POOL DEFAULT) --その他、KEEPやRECYCLE等 ; --プライマリキーの指定 --例1 CREATE TABLE TAB1 (COL1 NUMBER(6) PRIMAEY KEY, COL2 VARCHAR2(10)); --例2 CREATE TABLE TAB1 (COL1 NUMBER(6) , COL2 VARCHAR2(10), PRIMARY KEY (COL1)); --例3 CREATE TABLE TAB1 (COL1 NUMBER(6) , COL2 VARCHAR2(10), CONSTRAINT PK_TAB1 PRIMARY KEY (COL1)); --例4(制約と索引は別の名前にすることもできるが、制約削除の挙動が変わるので推奨しない) CREATE TABLE TAB1 (COL1 NUMBER(6) , COL2 VARCHAR2(10), CONSTRAINT PK_TAB1 PRIMARY KEY (COL1) USING INDEX(CREATE UNIQUE INDEX PK_TAB1 ON TAB1(COL1)) ); --コメント COMMENT ON TABLE TAB1 IS 'コメント'; --列追加 ALTER TABLE TAB1 ADD COL2 VARCHAR2(20); --列定義変更 ALTER TABLE TAB1 MODIFY(COL2 VARCHAR2(100)); --NOT NULL制約追加 ALTER TABLE TAB1 MODIFY(COL1 NOT NULL); --外部参照表 CREATE TABLE TAB1 (COL1 NUMBER PRIMARY KEY); CREATE TABLE TAB2 (COL1 NUMBER , CONSTRAINTS COL1_FK FOREIGN KEY(COL1) REFERENCES TAB1(COL1)); --ファンクションインデックス CREATE INDEX I_F_COL1 ON TAB1(TO_CHAR(COL1)); --テーブルにエクステントを手動で割り当てる ALTER TABLE TAB1 ALLOCATE EXTENT; --表領域移動 ALTER TABLE TAB1 MOVE TABLESPACE USERS; --ASSM環境のセグメント縮小(HWMの引き下げ)(10g~) ALTER TABLE TAB1 ENABLE ROW MOVEMENT; ALTER TABLE TAB1 SHRINK SPACE COMPACT CASCADE; ALTER TABLE TAB1 DISABLE ROW MOVEMENT; --INDEX作成 CREATE INDEX TAB1_IDX ON TAB1(COL1) TABLESPACE INDX; --UNUQUE INDEX作成 CREATE UNIQUE INDEX IDX_TAB1 ON TAB1(COL1) TABLESPACE INDX; --PRIMARY KEY追加 ALTER TABLE TAB1 ADD CONSTRAINT PK_TAB1 PRIMARY KEY(COL1); --INDEX無効化(REBUILDすると有効化する) ALTER INDEX TAB1_IDX UNUSABLE; --INDEXリビルド ALTER INDEX TAB1_IDX REBUILD; --INDEXオンラインリビルド(EE専用) ALTER INDEX TAB1_IDX REBUILD ONLINE; --関連ディクショナリ SELECT * FROM DBA_TABLES; SELECT * FROM DBA_TAB_COLUMNS; SELECT * FROM DBA_INDEXES; SELECT * FROM DBA_IND_COLUMNS; SELECT * FROM DBA_SEGMENTS; SELECT * FROM DBA_EXTENTS;
マニュアル
一覧(10.2)リファレンス 10g リリース2(10.2)
SQL リファレンス 10g リリース2(10.2)