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
- constraint約束AI
- Unused&ConstraintAI
- Deferred Constraint CheckAI
- constraint=constraints?AI
- Could not resolve com.android.support.constraint:constraint-layout:1.1.3AndroidAI
- Will attempt to recover by breaking constraintAI
- CONSTRAINT的用法舉例AI
- Constraint deferrable特性研究AI
- constraint deferrable immediate checkAI
- Deferring Constraint ChecksAI
- MySQL——約束(constraint)詳解MySqlAI
- 討論關於Constraint statesAI
- iOS 常用佈局方式之ConstraintiOSAI
- dba_objects 中不包含 constraintObjectAI
- 資料庫學習(1) - constraint資料庫AI
- [20170421]impdp SKIP_CONSTRAINT_ERRORSAIError
- constraint enable,disable的問題解決AI
- constraint和index的一點關係!AIIndex
- Constraint State(disable/enable validate/noalidate)AI
- Bug 2784796: ORA-00001:UNIQUE CONSTRAINTAI
- System.Data 的Constraint 類介紹AI
- Flashback table with foreign key constraint.AI
- Java Bean Annotation Constraint Validation 未完待續JavaBeanAI
- oracle10.2.0.4_create table_constraint_indexOracleAIIndex
- alter table modify constraint_disable_enable_novalidateAI
- Oracle SQL細節總結之constraint約束OracleSQLAI
- Default Value Insertion and Integrity Constraint Checking (164)AI
- Oracle約束constraint的三個屬性應用OracleAI
- ORA-00001 Unique Constraint SYS.I_JOB_JOB ViolatedAI
- Oracle約束Constraint對於CBO優化器的作用OracleAI優化
- not null constraint和check constriant的問題及分析NullAI
- 線上重定義表導致constraint變成novalidateAI
- oracle 約束(constraint)的幾個引數的小研究OracleAI
- 漏洞反饋,使用者授權報錯Integrity constraint violationAI
- MoveIt! 學習筆記10- Planning with Approximated Constraint Manifolds筆記APPAI
- oracle rename table 相關index view constraint synonym等的變化OracleIndexViewAI
- ORA-00001 : Unique Constraint Violated caused by DATE VS Timestamp(6)AI