




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CREATE TABLE SCOTT.MID_A_TAB( A VARCHAR2(20 BYTE,B VARCHAR2(10 BYTE,DETPNO VARCHAR2(10 BYTETABLESPACE USERS ;CREATE TABLE SCOTT.MID_B_TAB( A VARCHAR2(20 BYTE,B VARCHAR2(10 BYTE,DEPTNO VARCHAR2(10 BYTETABLESPACE USERS ;-给 MID_A_TAB表添加主键alter table mid_a_tab add constraint a_pk primary key (detpno; -给
2、 MID_B_TAB表添加主键alter table mid_b_tab add constraint b_pk primary key(a;-给子表 MID_B_TAB添加外键 , 并且引用主表 MID_A_TAB的 DETPNO 列, 并通 过 on delete cascade指定引用行为是级联删除alter table mid_b_tab add constraint b_fk foreign key (deptno references mid_a_tab (detpno on delete cascade;-向这样就创建了好子表和主表向主表添加数据记录SQL insert into
3、 mid_a_tab(a,b,detpno values(1,1,10; 已创建 1 行。已用时间 : 00: 00: 00.00向子表添加数据SQL insert into mid_b_tab(a,b,deptno values(1,2,6;insert into mid_b_tab values(1,2,6*第 1 行出现错误 :ORA-00001: 违反唯一约束条件 (SCOTT.B_PK已用时间 : 00: 00: 00.00可见上面的异常信息,那时因为子表插入的 deptno 的值是 6,然而此时我 们主表中detpno 列只有一条记录那就是 10,所以当子表插入数据时,在父表中不能
4、 够找到该引用列的记录,所以出现异常。但我们可以这样对子表的数据的进行插入 (即:在子表的 deptno 列插入 null, 因为我们在建表的时候并没有对该列进行 not null的约束限制 :SQL insert into mid_b_tab(a,b,deptno values(3,2,null; 已创建 1 行。已用时间 : 00: 00: 00.00现在如果我们把子表 mid_b_tab中 deptno 列加上 not null约束。SQL alter table mid_b_tab modify deptno not null;alter table mid_b_tab modify
5、deptno not null*第 1 行出现错误 :ORA-02296: 无法启用 (SCOTT. - 找到空值已用时间 : 00: 00: 00.01上面又出现异常, 这是因为现在 mid_b_tab表中有了一条记录, 就是我们先 前添加的那条记录。3, 2, null现在我们要把该表的 deptno 列进行 not null约束限制,所以 oracle 不让 我们这样干。那我们就只有把该表给 delete 或 truncate 掉,然后在修改 deptno 列为非 空。SQL delete from mid_b_tab;已删除 2行。已用时间 : 00: 00: 00.01再次修改子表
6、mid_b_tab表的 deptno 列为非空。SQL alter table mid_b_tab modify deptno not null;表已更改。已用时间 : 00: 00: 00.01修改成功!我们再次插入数据insert into mid_b_tab(a,b,deptno values(13,2,null;试试。 SQL insert into mid_b_tab(a,b,deptno values(13,2,null; insert into mid_b_tab(a,b,deptno values(13,2,null*第 1 行出现错误 :ORA-01400: 无法将 NULL
7、 插入 (SCOTT.MID_B_TAB.DEPTNO已用时间 : 00: 00: 00.00看见现在 oracle 不让我们插入空值了。所以我们在创建子表的外键约束时,该表的引用列必须要进行 not null限 制,也可以在该列创建 unique ,或 primary key约束,并且引用列与被引用列的数据类 型必须相同。SQL insert into mid_b_tab(a,b,deptno values(13,2,10; 已创建 1 行。已用时间 : 00: 00: 00.01此时数据插入成功,因为此时插入的 10,在主表中的被引用列中已经存在 了。现在我们一系列的操作:SQL select * from mid_b_tab ;A B DE- - -13 2 10已用时间 : 00: 00: 00.00SQL se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电竞公司销售渠道管理规章
- 电竞公司档案管理办法
- 电竞公司成本核算管理细则
- 专利行业专利检索与分析方案
- 中级银行从业资格之中级银行业法律法规与综合能力能力检测试卷带答案详解(考试直接用)
- 2026届福建省顺昌一中化学高一上期末综合测试试题含解析
- 三农人才培育工作方案指南
- 江西省恒立中学2026届高二化学第一学期期中调研模拟试题含解析
- 肩袖损伤修复新方法-洞察及研究
- 采购手册采购流程与供应商管理
- 2025至2030医学混合成像系统行业产业运行态势及投资规划深度研究报告
- 2025年内蒙古交通集团考试笔试试题(含答案)
- 低压安全隐患排查
- GB/T 9634.8-2018铁氧体磁心表面缺陷极限导则第8部分:PQ型磁心
- GB/T 27749-2011绝缘漆耐热性试验规程电气强度法
- 金风风电Vensys变桨系统课件
- 【高校辅导员资料】高校辅导员理论与实务
- 工程项目成本核算制度
- um-joyo c2001跨平台监控防误一体化系统使用说明书
- 中央供料系统介绍
- 输液泵/微量注射泵使用技术操作考核评分标准
评论
0/150
提交评论