1、Constraints的目的:
设立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模式的约束的数据进行信任,即需要检验以前的数据
(这个没用过,实在搞不准确切含义,还是把文档的内容直接放上来)
阅读(3341) | 评论(0) | 转发(0) |