摘要Oracle Check约束

数据库 Oracle
这里介绍Oracle Check约束,包括删除约束时,默认将同时删除约束所对应的索引,如果要保留索引,用KEEP INDEX关键字如果要删除的约束正在被其它约束引用。

向大家介绍Oracle,可能好多人还不了解Oracle Check约束,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
◆在Oracle Check约束的表达式中必须引用到表中的一个或多个字段,并且表达式的计算结果必须是一个布尔值
◆可以在表级或字段级定义
◆对同一个字段可以定义多个Oracle Check约束,同时也可以定义NOT NULL约束

  1. create table employees  
  2. (sal number(7,2)  
  3. constraint emp_sal_ck1 check (sal > 0)  
  4. )  
  5. alter table employees  
  6. add constraint emp_sal_ck2 check (sal < 20000

删除约束
◆alter table dept drop unique (dname,loc) --指定约束的定义内容
◆alter table dept drop constraint dept_dname_loc_uk --指定约束名

删除约束时,默认将同时删除约束所对应的索引,如果要保留索引,用KEEP INDEX关键字如果要删除的约束正在被其它约束引用,通过ALTER TABLE..DROP语句中指定CASCADE关键字能够同时删除引用它的约束利用下面的语句在删除DEPT表中的PRIMARY KEY约束时,同时将删除其它表中引用这个约束的FOREIGN KEY约束:

alter table dept drop primary key cascade

禁用/激活约束(禁用/激活约束会引起删除和重建索引的操作)
◆alter table employees disable/enable unique email
◆alter table employees disable/enable constraint emp_ename_pk
◆alter tabel employees modify constraint emp_pk disable/enable
◆alter tabel employees modify constraint emp_ename_phone_uk disable/enable

如果有FOREIGN KEY约束正在引用UNIQUE或PRIMARY KEY约束,则无法禁用这些UNIQUE或PRIMARY KEY约束,这时可以先禁用FOREIGN KEY约束,然后再禁用UNIQUE或PRIMARY KEY约束;或者可以在ALTER TABLE...DISABLE语句中指定CASCADE关键字,这样将在禁用UNIQUE或PRIMARY KEY约束的同时禁用那些引用它们的FOREIGN KEY约束,如:

alter table employees disable primary key cascade

约束数据字典
◆all_constraints/dba_constraints/user_constraints 约束的基本信息,包括约束的名称,类型,状态(约束类型:C(Oracle Check约束),P(主码约束),R(外部码约束),U(唯一码约束))
◆all_cons_columns/dba/user 约束对应的字段信息

【编辑推荐】

  1. 详谈Oracle LogMiner工具
  2. 揭开Oracle LogMiner之谜
  3. 简单描述Oracle Clob类型
  4. 概述Oracle 10g服务器
  5. 简介Oracle xmltype
责任编辑:佚名 来源: 计世网
相关推荐

2011-04-11 09:39:46

Oracle约束

2009-11-19 15:13:51

Oracle Uniq

2011-05-26 10:30:12

Oracle数据库约束

2010-04-01 14:55:04

Oracle约束

2011-08-17 21:23:41

约束NOT NULLUNIQUE

2010-04-29 12:31:02

Oracle uniq

2011-05-20 11:33:06

ORACLE索引约束

2010-04-06 16:12:25

Oracle约束

2009-06-24 10:26:41

Oracle约束分区表

2010-11-12 15:04:30

SQL Server缺

2010-04-23 15:44:29

Oracle 外键

2011-08-10 15:38:12

ConstraintOracle

2011-03-22 12:59:18

SQLOracle外键约束

2011-08-10 16:01:11

OracleConstraint

2009-03-23 10:11:59

Oracle数据库唯一约束

2010-04-02 15:36:37

Oracle约束

2020-09-07 14:15:16

AI 数据人工智能

2023-07-28 08:13:30

2010-09-01 17:13:07

SQL删除约束

2009-08-24 13:31:38

C# 泛型约束
点赞
收藏

51CTO技术栈公众号