7's workspace

業務外にSpringBootを使ってWebアプリを完成させるまでの記録

<索引の作り方>
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 そのセッションで最後に取得した値を戻す。セッションで一度も採番していない場合はエラーとなる