Constraint State(disable/enable validate/noalidate)
At any time, every constraint is either enabled or disabled, and validated or not
validated. Any combination of these is syntactically possible:
ENABLE VALIDATE It is not possible to enter rows that would violate the
constraint, and all rows in the table conform. to the constraint.
DISABLE NOVALIDATE Any data (conforming or not) can be entered, and
there may already be nonconforming data in the table.
ENABLE NOVALIDATE There may already be nonconforming data in the
table, but all data entered now must conform.
DISABLE VALIDATE An impossible situation: all data in the table conforms
to the constraint, but new rows need not. The end result is that the table is
locked against DML commands.
http://blog.csdn.net/priestmoon/article/details/6197379
enable/disable validate/novalidate
以上兩項都是對約束的設定選項
enable/disable
針對新插入/更新的資料進行/不進行約束驗證,預設enable。
enable時,如果是主鍵或唯一鍵,首先檢視列上是否有索引,如果有就用。沒有就新建。
disable時,如果是主鍵或唯一鍵,會刪除enable時新建的索引,但自定義索引不受影響。
validate/novalidate
針對已有資料進行/不進行約束驗證,預設validate
①enable validate
對新資料做驗證,同時保證舊資料驗證通過。如果舊資料違反約束,則必須修改或刪除這部分資料,否則不能建立約束。
②enable novalidate
對新資料做驗證,同時忽略舊資料的約束合法性。如果舊資料違反主鍵/唯一鍵約束,並且事先沒有定義該列的非唯一索引(nonunique index),則本設定不能通過。因為在enable時,系統會新建一個unique index,而舊資料顯然不能支援這一操作。所以要使本設定生效,必須對違反主鍵/唯一鍵約束的列上新增nonunique index。方法是create index on (
以上兩項都是對約束的設定選項
enable/disable
針對新插入/更新的資料進行/不進行約束驗證,預設enable。
enable時,如果是主鍵或唯一鍵,首先檢視列上是否有索引,如果有就用。沒有就新建。
disable時,如果是主鍵或唯一鍵,會刪除enable時新建的索引,但自定義索引不受影響。
validate/novalidate
針對已有資料進行/不進行約束驗證,預設validate
①enable validate
對新資料做驗證,同時保證舊資料驗證通過。如果舊資料違反約束,則必須修改或刪除這部分資料,否則不能建立約束。
②enable novalidate
對新資料做驗證,同時忽略舊資料的約束合法性。如果舊資料違反主鍵/唯一鍵約束,並且事先沒有定義該列的非唯一索引(nonunique index),則本設定不能通過。因為在enable時,系統會新建一個unique index,而舊資料顯然不能支援這一操作。所以要使本設定生效,必須對違反主鍵/唯一鍵約束的列上新增nonunique index。方法是create index
相關文章
- disable/enable validate/novalidate 的區別
- constraint enable,disable的問題解決AI
- alter table modify constraint_disable_enable_novalidateAI
- [20120824]oracle中的 CONSTRAINT 屬性ENABLE DISABLE VALIDATE NOVALIDATE.txtOracleAI
- oracle學習(2)-Oracle約束的關鍵字Enable/Disable/Validate/NovalidateOracle
- oracle 約束 enable validate 檢查Oracle
- How to Check and Enable/Disable Oracle Binary Options (文件 ID 948061.1)Oracle
- Oracle約束enable validate時資料檢查Oracle
- Logical Standby中的supplemental logging和rely disable constraintAI
- [20221222]How to Enable and Disable Database Options in oracle 11g.txtDatabaseOracle
- AD-禁用賬戶命令 Disable-ADAccount & 批量啟用賬戶命令 Enable-adaccount
- enable password 7與enable secret的區別
- local_irq_disable和disable_irq的區別
- ConstraintAI
- oracle ENABLE=BROKENOracle
- ODM enable on Veritas
- bypass disable_functionFunction
- disable or 擴充套件套件
- Disable Dynamic DNS updateDNS
- VALIDATE STRUCTUREStruct
- enable_index_filterIndexFilter
- How to enable the flashback database:Database
- How to enable trace in OracleOracle
- FSM:Enable shift register
- Disable Oracle Automatic JobsOracle
- 約束CONSTRAINTAI
- constraint約束AI
- Unused&ConstraintAI
- jQuery Validate success()jQuery
- Jquery--ValidatejQuery
- alter database disable thread 2Databasethread
- Deferred Constraint CheckAI
- constraint=constraints?AI
- Could not resolve com.android.support.constraint:constraint-layout:1.1.3AndroidAI
- oracleasm enable顯示失敗OracleASM
- enable table lock 的enqueue等待ENQ
- enable run glance utility in windows CMDWindows
- jQuery Validate addMethod()jQuery