正确答案:C

根据题意,测试结果如下:

1、创建表emp,并且设emp_no字段为主键,设mgr_no字段为外键。

gyj@MYDB> create table emp
2 (emp_no number(2) constraint emp_emp_no_pk primary key,
3 ename varchar2(15),
4 salary number(8,2),
5 mgr_no number(2) constraint emp_mgr_fk references emp); Table created.

2、禁用约束主键,同时也禁用了外键

gyj@MYDB>  alter table emp disable constraint emp_emp_no_pk cascade;   

Table altered.

3、查约束主键与外键是否都被禁用了,确实都被DISABLED了

gyj@MYDB> col owner for a10
gyj@MYDB> select OWNER,CONSTRAINT_NAME, TABLE_NAME,STATUS from user_constraints where table_name='EMP'; OWNER CONSTRAINT_NAME TABLE_NAME STATUS
---------- ------------------------------ ------------------------------ --------
GYJ EMP_EMP_NO_PK EMP DISABLED
GYJ EMP_MGR_FK EMP DISABLED

4、启用约束主键

gyj@MYDB> alter table emp enable constraint emp_emp_no_pk;    

Table altered.

5、 查约束主键与外键是否都被禁用了,只有主键被禁用了。

gyj@MYDB> select  OWNER,CONSTRAINT_NAME, TABLE_NAME,STATUS from user_constraints where table_name='EMP';

OWNER      CONSTRAINT_NAME                TABLE_NAME                     STATUS
---------- ------------------------------ ------------------------------ --------
GYJ EMP_EMP_NO_PK EMP ENABLED
GYJ EMP_MGR_FK EMP DISABLED

6、  启用约束外键

gyj@MYDB> alter table emp enable constraint emp_mgr_fk;    

Table altered.

7、此时约束外键也被禁用了

gyj@MYDB> select  OWNER,CONSTRAINT_NAME, TABLE_NAME,STATUS from user_constraints where table_name='EMP';

OWNER      CONSTRAINT_NAME                TABLE_NAME                     STATUS
---------- ------------------------------ ------------------------------ --------
GYJ EMP_EMP_NO_PK EMP ENABLED
GYJ EMP_MGR_FK EMP ENABLED

8、禁用或启动约束主键与外键的官方文档语法图。

9、分析

禁用主健约束,句中指定CASCADE关键字,这样将在禁用主键约束的同时会禁用那些引用它们的FOREIGN KEY约束。如下操作:
gyj@MYDB> alter table emp disable constraint emp_emp_no_pk cascade; 

Table altered.

有没有什么语?在启用主键约束时侯,同时也启动外键。如下操作报错:

gyj@MYDB>  alter table emp enable constraint emp_emp_no_pk cascade;
alter table emp enable constraint emp_emp_no_pk cascade
*
ERROR at line 1:
ORA-00933: SQL command not properly ended

*特别注意的是在ENABLE主键后不会自动恢复外键(没有cascade选项),因此需要手工对引用该键的约束进行ENABLE

如下操作:

ALTER TABLE '子表' ENABLE CONSTRAINT '约束主键名';

ALTER TABLE '子表' ENABLE CONSTRAINT '约束外键名';

[每日一题] OCP1z0-047 :2013-08-18 禁用启用约束――主键与外键 ..................................61的更多相关文章

  1. JpGraph使用详解http://5ydycm.blog.51cto.com/115934/177498 http://www.cnblogs.com/txw1958/archive/2013/08/18/php-charts.html

    下载 在官方网站 http://www.aditus.nu/jpgraph/ 下载jpgraph,其中1.X系列是用于PHP4的,2.X系列是用于PHP5的. 安装 将下载的得到的jpgraph压缩文 ...

  2. [Buzz Today]2013.08.18

    # Go 语言实现memcached:groupcache memcached作者Brad Fitzpatrick用Go语言重新实现了memcached. groupcache继承了memcached ...

  3. CISP/CISA 每日一题 18

    CISSP 每日一题(答)What is the purpose of an access review and audit? Checkto ensure that users do not hav ...

  4. 老男孩IT教育-每日一题汇总

    老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...

  5. 【Java每日一题】20161018

    20161017问题解析请点击今日问题下方的"[Java每日一题]20161018"查看 package Oct2016; public class Ques1018 { publ ...

  6. PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数

    PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可 ...

  7. [每日一题]面试官问:for in和for of 的区别和原理?

    关注「松宝写代码」,精选好文,每日一题 ​时间永远是自己的 每分每秒也都是为自己的将来铺垫和增值 作者:saucxs | songEagle 一.前言 2020.12.23 日刚立的 flag,每日一 ...

  8. [每日一题]面试官问:谈谈你对ES6的proxy的理解?

    [每日一题]面试官问:谈谈你对ES6的proxy的理解? 关注「松宝写代码」,精选好文,每日一题 作者:saucxs | songEagle 一.前言 2020.12.23 日刚立的 flag,每日一 ...

  9. 【JavaScript】Leetcode每日一题-二叉搜索树的范围和

    [JavaScript]Leetcode每日一题-二叉搜索树的范围和 [题目描述] 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例1: 输入: ...

随机推荐

  1. 一段代码说明javascript闭包执行机制

    假设你能理解以下代码的执行结果,应该就算理解闭包的执行机制了. var name = "tom"; var myobj = { name: "jackson", ...

  2. linux经常使用命令:打包、复制等

    备份文件 tar -cf /home/app20140703bak.tar /home/app/uat/test.war 拷贝文件到目标目录 例示: cp -af /app/wasapp/appnam ...

  3. request.getRequestURI()与request.getRequestURL()

    request.getRequestURL() 获得 http://www.quanqiuyouhui.com/ds-api-test/authorization/test.do request.ge ...

  4. Git应用于Android项目的入门知识:我的理解

    Git应用于Android项目的基本知识.     常常将git,repo和gerrit三种工具配合起来使用,使Android开发中的部分工作自动化.并适应敏捷项目管理的需要.     repo是Go ...

  5. Struts2之Action基础与配置

    Action基础 Action是什么 在Struts2中,一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元.也就是,用户的每 ...

  6. AnyWhere

    anyexec_date 201506171258 anyexec_date @@AnyWhereCmd idc python /home/appadmin/nicker/tools/QUI.py m ...

  7. Excel Aspose.Cells 设置单元格格式 为数字

    Workbook workbook = new Workbook(); //工作簿 Worksheet sheet = workbook.Worksheets[]; //工作表 sheet.Cells ...

  8. python - list, cllections模块的deque对象

    list.count() list.pop()/list.pop(i) list.insert(i,element) list.sort()和sorted(list) list.reverse()和r ...

  9. html 标签释义

    position  位置  给....定位   作用:定位 position:fixed  锁定游览器位置 如右下角弹窗 absolute  绝对定位    游览器左上角      position: ...

  10. Linux下find与grep指令的相关用法

    find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1. ...