Oracle外键的相关约束中级联删除的方案

 我来答
舒适还明净的海鸥i
2022-11-20 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:70.1万
展开全部

  SQL和 Oracle外键的相关约束中的级联删除 我们在相关的系统中如果你要删除相关记录 我们就要关联一起删除N多张表 同时它们之间还存在着相互约束的关系 所以考虑到在创建表时加上约束关系

  详细内容如下:

  SQL的Oracle外键约束可以实现级联删除与级联更新;Oracle 则只充许级联删除

  SQL级联删除与级联更新使用格式

   CREATE TABLE A (ID INT PRIMARY KEY NAME VARCHAR( ))

   CREATE TABLE A (ID INT REFERENCES A (ID)ON DELETE CASCADE ON UPDATE CASCADE AGE TINYINT)

  Oracle 级联删除使用格式

   CREATE TABLE A (ID INT PRIMAY KEY NAME VARCHAR ( ))

   CREATE TABLE A (ID INT REFERENCES A (ID)ON DELETE CASCADE AGE NUMBER( ))

   CREATE TABLE groups

   (

   id VARCHAR ( ) CONSTRAINT pk_groupid PRIMARY KEY

   name VARCHAR ( )

   description VARCHAR ( )

   )

   TABLESPACE userspace;

   CREATE TABLE usringrp

   (

   group_id VARCHAR ( ) CONSTRAINT fk_uing_grpid

   REFERENCES groups(id)

   ON DELETE CASCADE

   user_id VARCHAR ( )

   )

   TABLESPACE userspace;

   PowerDesigner

  参照完整性约束

  限制(Restrict) 不允许进行修改或删除操作 若修改或删除主表的主键时 如果子表中存在子记录 系统将产生一个错误提示 这是缺省的参照完整性设置

  置空(Set Null) 如果Oracle外键列允许为空 若修改或删除主表的主键时 把子表中参照的外键列设置为空值(NULL)

  置为缺省(Set Default) 如果指定了缺省值 若修改或删除主表的主键时 把子表中参照的Oracle外键设置为缺省值(Default)

  级联(Cascade) 把主表中主键修改为一个新的值时 相应修改子表中Oracle外键的值 或者删除主表中主键的记录时 要相应删除子表中外键的记录

lishixinzhi/Article/program/Oracle/201311/17613

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式