Constraint
1、Constraints的目的:
設立Constraint就是為了讓資料滿足某些規則。
3、Constraint的狀態:
① Deferrable
該引數用於指定是否可以是同set語句來進行臨時控制constraint,時約束在commit時才生效
DEFERRABLE:可以使用set constraint字句
NOT DEFERRABLE:不可以使用set constraint字句(預設)
② Initially
該引數用於建立預設的DEFERRABLE型別約束
INITIALLY一般都要和IMMEDIATE、DEFERRED一起使用
INITIALLY IMMEDIATE:在執行SQL時違反約束即報錯(預設)
INITIALLY DEFERRED:在提交時才報錯
③ Validate | NoValidate
該引數一般與Enabled和Disabled屬性搭配使用
④ Enable
該引數確認約束應用於資料
ENABLE VALIDATE:將驗證已經存在的和之後的操作是否符合約束(預設)
ENABLE NOVALIDATE:不驗證已經存在的資料,但對之後進行的操作有效
⑤ Disable
該引數使約束失效
DISABLE VALIDATE:約束失效標註,可用於暫時匯入大量資料時,不進行索引更新
DISABLE NOVALIDATE:約束失效,並不保證約束是否正確,即不保證已有資料滿足約束(預設)
⑥ Rely
Rely和Norely只能用在 ALTER TABLE MODIFY constraint 語句中
Rely:告訴Oracle,不必對NOVALIDATE模式的約束的資料進行信任,即需要檢驗以前的資料
(這個沒用過,實在搞不準確切含義,還是把文件的內容直接放上來)
設立Constraint就是為了讓資料滿足某些規則。
2、Constraint的型別:
not null (不能為空)
unique (值必須唯一)
primary key (not null + unique)
goreign key (該表值必須在外來鍵表中存在)
check (自己加的條件)
ref (不熟)
注:Constraints不但可以建立在Table上,也可以建立在View上。
3、Constraint的狀態:
① Deferrable
該引數用於指定是否可以是同set語句來進行臨時控制constraint,時約束在commit時才生效
DEFERRABLE:可以使用set constraint字句
NOT DEFERRABLE:不可以使用set constraint字句(預設)
② Initially
該引數用於建立預設的DEFERRABLE型別約束
INITIALLY一般都要和IMMEDIATE、DEFERRED一起使用
INITIALLY IMMEDIATE:在執行SQL時違反約束即報錯(預設)
INITIALLY DEFERRED:在提交時才報錯
③ Validate | NoValidate
該引數一般與Enabled和Disabled屬性搭配使用
④ Enable
該引數確認約束應用於資料
ENABLE VALIDATE:將驗證已經存在的和之後的操作是否符合約束(預設)
ENABLE NOVALIDATE:不驗證已經存在的資料,但對之後進行的操作有效
⑤ Disable
該引數使約束失效
DISABLE VALIDATE:約束失效標註,可用於暫時匯入大量資料時,不進行索引更新
DISABLE NOVALIDATE:約束失效,並不保證約束是否正確,即不保證已有資料滿足約束(預設)
⑥ Rely
Rely和Norely只能用在 ALTER TABLE MODIFY constraint 語句中
Rely:告訴Oracle,不必對NOVALIDATE模式的約束的資料進行信任,即需要檢驗以前的資料
(這個沒用過,實在搞不準確切含義,還是把文件的內容直接放上來)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20802110/viewspace-1063216/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 約束CONSTRAINTAI
- Could not resolve com.android.support.constraint:constraint-layout:1.1.3AndroidAI
- Will attempt to recover by breaking constraintAI
- MySQL——約束(constraint)詳解MySqlAI
- iOS 常用佈局方式之ConstraintiOSAI
- 10、Oracle中的約 束constraintOracleAI
- MoveIt! 學習筆記10- Planning with Approximated Constraint Manifolds筆記APPAI
- 漏洞反饋,使用者授權報錯Integrity constraint violationAI
- HV000030: No validator could be found for constraint ‘javax.validation.constraints.Pattern‘ validatiAIJava
- 建立外來鍵時報 Cannot add foreign key constraint 解決方法AI
- 動態尺寸模型最佳化實踐之Shape Constraint IR Part I模型AI
- hibernate配置級聯刪除時報錯:could not execute statement; SQL [n/a]; constraint [null]SQLAINull
- 【YashanDB資料庫】自關聯外來鍵插入資料時報錯:YAS-02033 foreign key constraint violated parent key not found資料庫AI