ホーム > ORACLE > CONSTRAINT

制約

制約

  • 宣言の容易性
  • ルールの集中化
  • アプリケーション開発の生産性の向上
  • パフォーマンスの向上
  • 性や宇野使用禁止/使用可能による柔軟性の向上

提供される制約

  • NOT NULL
  • UNIQUE
  • CHECK
  • PRIMARY KEY
  • FOREIGN KEY

制約の作成

列制御構文

CRATE TABLE 表名
( 列名 データ型 [ CONSTRAINT 制約名] 制約 ...)

表制御構文

CRATE TABLE 表名
( 列名 データ型 }
[ CONSTRAINT 制約名] 制約 ...)

制約名を省略した場合、SYS_Cn(nには位置の数値)となる

NOT NULL

列名 データ型 CONSTRAINT const_col1_nn NOT NULL

表制御構文では定義できない

UNIQUE

列名 データ型 CONSTRAINT const_col1_U UNIQUE
列名1 データ型,
列名2 データ型,
 CONSTRAINT const_col1_2_U UNIQUE(列名1, 列名2)

CHECK

 列名 データ型, CONSTRAINT const_col1_CK CHECK (条件)

下記の指定はできない

  • CURRVAL, NEXTVAL, LEVEL, ROWNUM 擬似列の参照
  • SYSDATE, UID, USER, USERNV 関数
  • 別の行の値を参照する問い合わせ

PRIMARY KEY

 列名 データ型, CONSTRAINT const_col1_PK PRIMARY KEY

FOREIGN KEY

 列名 データ型, CONSTRAINT const_col1_PK REFERENCES 参照表[(参照列)]

ON DELETE

外部参照の制約で親の行が削除されたら子表の該当行も一緒に削除する場合

  • ON DELTE CASCADE:子表の該当行も一緒に削除する
  • ON DELETE SET NULL:子表の該当行にNULLを挿入する
このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

TOP