`
岁月如歌
  • 浏览: 107243 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SQL与ORACLE的外键约束--级联删除

    博客分类:
  • DB
阅读更多

SQL与ORACLE的外键约束--级联删除

最近软件系统中要删除一条记录,就要关联到同时删除好多张表,他们之间还存在着约束关系.所以考虑到在创建表时加上约束关系,具体如下:

SQL的外键约束可以实现级联删除与级联更新;

ORACLE则只充许级联删除。

SQL级联删除与级联更新使用格式:
CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20))
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT)

ORACLE级联删除使用格式:
CREATE TABLE A001(ID INT PRIMAY KEY,NAME VARCHAR2(20))
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE,AGE NUMBER(2,0))


--------------
CREATE TABLE groups
(
id    VARCHAR2(16) CONSTRAINT pk_groupid PRIMARY KEY,
name    VARCHAR2(32),
description VARCHAR2(50)
)
TABLESPACE userspace;


CREATE TABLE usringrp
(
group_id     VARCHAR2(16) CONSTRAINT fk_uing_grpid
       REFERENCES groups(id)
       ON DELETE CASCADE,
user_id    VARCHAR2(16)
)
TABLESPACE userspace;

---------------
PowerDesigner
参照完整性约束


限制(Restrict)。不允许进行修改或删除操作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。
置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。
置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。
级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。

分享到:
评论

相关推荐

    MLDN魔乐科技JAVA培训_Oracle课堂18_外键约束.rar

    在本MLDN魔乐科技JAVA培训_Oracle课堂18_外键约束的课程中,我们将深入探讨这个主题,帮助Java开发者更好地理解和应用Oracle数据库中的外键约束。 首先,我们了解外键的基本概念。外键是一种特殊的字段,存在于一个...

    Oracle数据库中的级联查询、级联删除、级联更新操作教程

    Oracle数据库中的级联查询、级联删除和级联更新是数据库设计中常用的操作,它们用于在多表关联的关系型数据库中实现数据的联动处理。在Oracle中,这些操作主要涉及外键约束和触发器。 首先,级联查询是通过自连接来...

    oracle中如何创建约束?

    本文将重点讨论在Oracle数据库中如何创建外键约束,同时也会提及其他类型的约束。 ### 外键约束 外键约束用于维护两个表之间的关系,确保引用完整性。在创建外键约束时,需要指定一个表中的列作为外键,它必须与另...

    在Oracle数据库中添加外键约束的方法详解

    在Oracle数据库中,外键约束是确保数据完整性和一致性的重要机制。它定义了一个表中的一个或多个列(称为外键)的值必须匹配另一个表(称为参照表)中某些行的值,以此来维护两个表之间的关系。这有助于保证两个表...

    sql与oracle的区别[定义].pdf

    Oracle仅支持级联删除的外键约束,而SQL还支持级联更新。 最后,SQL的临时表使用#或##开头,会在使用后自动释放,而Oracle的临时表存在于数据库中,每个会话的数据独立。 总的来说,SQL与Oracle在设计哲学和功能...

    oracle笔记二--plsql 编程.txt

    根据提供的文件信息,我们可以归纳出一系列与Oracle数据库中的PL/SQL编程相关的重要知识点。下面将对这些知识点进行详细的解释和扩展: ### Oracle笔记二--PL/SQL编程 #### 一、表约束管理 **1. 添加主键约束** ...

    ORACLE与SQLSERVER的区别

    SQL Server 的外键约束支持级联删除和级联更新,而 Oracle 只支持级联删除。创建外键约束时,两个系统都有相应的语法,但在级联操作上有所不同。 以上只是 Oracle 和 SQL Server 在几个关键方面的对比,实际上,...

    解析Oracle中多表级联删除的方法

    在创建表时,可以通过定义外键约束并指定`ON DELETE CASCADE`选项来实现级联删除。例如: ```sql CREATE TABLE "U_WEN_BOOK"."FARTAB" ( "FAR_ID" NUMBER(10) NOT NULL, "FAR_NAME" VARCHAR2(10), "OTHER_NAME" ...

    SQLserver、Oracle、Mysql语法与用法对比.doc

    《SQLserver、Oracle、Mysql语法与用法对比》 SQLserver、Oracle和Mysql是当前最主流的三种关系型数据库管理系统,它们在语法和用法上存在一些共性,但也各自具有特色。以下是对这三种数据库在常用操作上的对比分析...

    oracle与sql_server的区别

    在处理外键约束时,SQL Server允许级联删除和级联更新,而Oracle仅支持级联删除。这意味着在SQL Server中,当主表中的记录被删除或更新时,依赖的子表记录也可以自动进行相应的更新或删除,提供了更强大的数据完整性...

    主键与外键的创建

    同时,外键约束也可以控制级联操作,如级联删除或级联更新,使得当主键表中的数据发生变化时,关联的外键表中的数据能够相应地更新或删除。 总的来说,主键和外键在数据库设计中起着至关重要的作用,它们确保了数据...

    数据库简单练习

    另一种方法是通过修改外键约束来实现级联删除,这意味着当主表中的记录被删除时,所有依赖于该记录的子表记录也会自动删除。在示例中,我们需要查询外键名,然后删除现有的外键约束,再重新创建允许级联删除的新...

    Oracle 约束 总结

    如果删除的是主键约束并且想要级联删除相关的外键约束,可以在`DROP`命令后加上`CASCADE`关键字: ```sql ALTER TABLE i_top DROP PRIMARY KEY CASCADE; ``` #### 禁用约束 在某些情况下,可能需要临时禁用约束...

    二级级联带数据库

    在这些系统中,可以使用SQL(Structured Query Language)来创建和操作表,定义主键和外键约束。 例如,创建城市表和区域表的SQL语句可能如下: ```sql CREATE TABLE Cities ( CityID INT PRIMARY KEY, CityName...

    疯狂SQL之魔兽争霸 .txt

    例如,创建具有外键约束的表在SQL和Oracle中的语法略有不同: ```sql -- SQL CREATE TABLE A001 (ID INT PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE A002 (ID INT REFERENCES A001(ID) ON DELETE CASCADE ON ...

    1853790_庄镇华_实验51

    在本实验报告中,庄镇华同学探讨了在Oracle数据库环境下如何进行PL/SQL基础操作,包括表的创建、数据的插入以及处理外键约束的问题。实验涉及的主要知识点如下: 1. **表的创建**: - 使用`CREATE TABLE`语句创建...

    Oracle 基本建表语句集

    - **说明**:此命令用于在`stuinfo`表的`stu_id`列上添加外键约束`stu_fk`,该约束引用`students`表的`id`列,并设置了级联删除,即当`students`表中的记录被删除时,`stuinfo`表中对应的所有记录也会被自动删除。...

    oca笔记及部分真题.

    以上是对给定文件中的知识点进行的详细解析,包括 SQL 语句分类、外键约束与级联删除的概念以及 PL/SQL 的基础知识和结构。这些内容对于准备 OCA 认证考试的考生来说非常重要,也是实际工作中不可或缺的知识点。

    Oracle约束详解

    当设置外键约束时,可以指定级联操作,如`ON DELETE CASCADE`,这意味着删除父表中的记录时,相关子表中的记录也会被删除。 9. **禁用与启用约束 (Disabling and Enabling Constraints)** 在某些情况下,可能需要...

Global site tag (gtag.js) - Google Analytics