您的位置:首页 > 数据库 > Oracle

Oracle教程之Oracle管理约束(三)--Oracle禁止和激活约束

2013-04-07 11:45 375 查看
1、禁止约束
04:55:47 SQL> alter table t1 disable novalidate constraint u_name;
Table altered.
04:55:48 SQL> select constraint_name,constraint_type,status,table_name
from user_constraints
04:56:03 2 where table_name='T1';
CONSTRAINT_NAME C STATUS TABLE_NAME
------------------------------ - -------- ------------------------------
U_NAME U DISABLED T1
04:56:09 SQL>
2、激活约束
(1)使用ENABLE NOVALIDATE 选项激活约束
ENABLE NOVALIDATE 选项用于快速激活约束,但该选项只能确保新数据符合约束规则,而不会最已存在数据进行任何检查。使用ENABLE
NOVALIDATE 选项激活约束时,不会再表上加锁,也不会影响其他用户在相应表上的DML操作。当数据处于运行高峰时,为了使约束快速生效
,应使用该方法激活约束。实例如下:
04:55:47 SQL> alter table t1
04:59:47 2 enable novalidate constraint u_name;
Table altered.
05:00:09 SQL> select constraint_name,constraint_type,status,table_name
from user_constraints
05:00:12 2 where table_name='T1';
CONSTRAINT_NAME C STATUS TABLE_NAME
------------------------------ - -------- ------------------------------
U_NAME U ENABLED T1
(2)使用 ENABLE VALIDATE 选项激活约束
使用 ENABLE VALIDATE 选项激活约束时,会在表上加锁,此时不允许其他用户在相应表上执行DML操作。为了确保已装载数据满足约束规则
,在数据库运行的空闲时间使用该选项激活约束。使用 ENABLE NOVALIDATE 可以快速激活约束,但不会对已存在数据进行任何检查;使用 ENABLE
VALIDATE 选项不仅会检查新键入的数据,同时要求已存在数据必须满足约束规则。示例如下:
05:00:14 SQL> alter table t1
05:02:38 2 enable validate constraint u_name;
Table altered.

更多更全的oracle视频教程请访问:http://crm2.qq.com/page/portalpage/wpa.php?uin=800060152&f=1&ty=1&aty=0&a=&from=6
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息