<索引の作り方>
CREATE [UNIQUE] INDEX 索引名 ON 表名 (列リスト);
- UNIQUE:索引内の値が一意であることを保証する
- 列リスト:複数列を宣言した場合は、指定列の組み合わせによる索引レコードを作成する
<ビューの作り方>
CREATE [FORCE] VIEW ビュー名 [列別名リスト]
AS SELECT 列リスト FROM 表名 [WHERE句][GROUP BY句][HAVING句][ORDER BY句]
[WITH CHECK OPTION | WITH READ ONLY];
- FORCE:ビューの基礎表が存在しなくてもビュー定義を作成
- WITH CHECK OPTION:ビューに対する更新があるときもWHERE句によるチェックを実行し、ビュー定義に違反する更新を禁止
- WITH READ ONLY:ビューに対する更新を禁止(読み取り専用のビューになる)
<シノニムの作り方>
CREATE [PUBLIC] SYNONYM シノニム名 FOR 元のオブジェクト名;
- PUBLIC:全データベースユーザーが使用できるシノニム。CREATE PUBLIC SYNONYM権限が必要
- 元のオブジェクト名:別のユーザーが所有するオブジェクトの場合は「ユーザー名.オブジェクト名」
<順序の作り方>
CREATE SEQUENCE 順序名
[START WITH 開始番号] [INCREMENT BY 増分値]
[MINVALUE 最小値 | NOMINVALUE] [MAXVALUE 最大値 | NOMAXVALUE]
[CACHE キャッシュ数 | NOCACHE] [CYCLE | NOCYCLE];
- START WITH:開始番号。デフォルトは1
- INCREMENT BY:増分値。デフォルトは1。負の値を指定すると降順になる
- MINVALUE:順序の最小値を指定できる。START WITH~MAXVALUEの値
- NOMINVALUE:デフォルト。昇順の場合は1、降順の場合は-10^26
- MAXVALUE:順序の最大値を指定できる。28けた以内の整数
- NOMAXVALUE:デフォルト。昇順の場合は10^27、降順の場合は-1
- CACHE:メモリ上に事前にキャッシュしておく数。デフォルトは20
- NOCACHE:キャッシュしない
- CYCLE:昇順の場合は最大値に達すると最小値に戻る。降順の場合は最小値に達すると最大値に戻る
- NOCYCLE:デフォルト。順序が最大値(降順の場合は最小値)に達すると、それ以上の値を生成しない
順序を使用するときには、NEXTVAL疑似列、CURRVAL疑似列を使用します。
NEXTVAL |
次の順序番号を取得する。複数のセッションが同時に取得しようとした場合、先着順に次の番号を発行する |
CURRVAL |
そのセッションで最後に取得した値を戻す。セッションで一度も採番していない場合はエラーとなる |
|