`

Oracle外键级联删除和级联更新

 
阅读更多

 

Oracle外键级联删除和级联更新

Oracle在外键的删除上有NO ACTION(类似RESTRICT)、CASCADE和SET NULL三种行为。

1.1 NO ACTION
NO ACTION指当删除主表中被引用列的数据时,如果子表的引用列中包含该值,则禁止该操作执行。

现在学生外键级联删除是NO ACTION,执行删除班级操作
Oracle会提示违反完整性约束: ORA-02292

1.2 SET NULL

SET NULL指当删除主表中被引用列的数据时,将子表中相应引用列的值设置为NULL值。SET NULL有个前提就是外键引用列必须可以设置为NULL。

把学生表(TB_STUDENT)的外键删除行为改为SET NULL。ORACLE似乎没有MODIFY CONSTRAINT操作,只能先删除外键,然后创建新的。

1.3 CASCADE


CASCADE指当删除主表中被引用列的数据时,级联删除子表中相应的数据行。

把学生表(TB_STUDENT)的外键删除行为改为CASCADE。

 

 

分享到:
评论

相关推荐

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

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

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

    在Oracle数据库中,多表级联删除是一种常见的需求,特别是在数据关系复杂的环境中。级联删除允许在删除一个表中的记录时,自动删除依赖于该记录的其他表中的相关记录。以下将详细介绍三种在Oracle中实现多表级联删除...

    oracle中如何创建约束?

    - **CASCADE**:级联删除/更新。如果删除或更新父表中的记录,则自动删除/更新子表中所有相关的记录。 - **SET NULL**:设置为NULL。如果删除父表中的记录,则将子表中的相应外键字段设置为NULL。 - **NO ACTION**:...

    二级级联带数据库

    在IT领域,"二级级联带数据库"是一个与数据存储和检索相关的概念,尤其是在复杂的表单设计和数据关联中常见。这个术语主要涉及到两个级别的下拉列表(或级联选择框),它们之间的关联是通过数据库中的关系来实现的。...

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

    在数据库设计中,通过合理使用外键,可以遵循第三范式(3NF),避免数据异常和更新异常。 总结来说,Oracle数据库中的外键约束是数据库设计中的核心概念,它促进了不同表之间的数据关联,保证了数据的完整性和一致...

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

    用户还可以选择在删除或更新主键时对外键执行的操作,如"No Action"(默认,不允许删除或更新)、"CASCADE"(级联删除或更新)、"SET NULL"(设置为NULL)。 然而,更常见的方法是使用SQL语句来创建外键约束。以下...

    主键与外键的创建

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

    Java三级级联,省份,市区,地区

    前端部分,可以使用Ajax技术来实现实时的数据交互,比如JavaScript库如jQuery或现代的Vue.js、React.js等框架,通过Ajax请求获取服务器上的数据并更新DOM(Document Object Model)以显示新的级联选项。文件名...

    ORACLE与SQLSERVER的区别

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

    省市区三级级联(Ajax+JSP+Servlet+JDBC+Oracle)

    在这个项目中,我们假设已经创建了一个包含省级、市级和区县级信息的数据库表,可能有三个表分别存储省、市、区县的信息,通过外键关联形成级联关系。 具体实现流程如下: 1. 用户在网页上选择省份,触发Ajax事件...

    oracle与sql_server的区别

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

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

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

    Oracle sql宝典

    Oracle SQL 是一种用于管理Oracle数据库的强大工具,涵盖了创建和操作数据库对象、查询和更新数据、管理用户权限等众多功能。以下是一些Oracle SQL的关键知识点: 1. **创建用户**: 使用 `CREATE USER` 语句可以...

    4.oracle 再次学习1

    Oracle支持级联删除,当删除一个表的记录时,与之关联的其他表中的相关记录也会被删除。在创建外键约束时,可以指定`ON DELETE CASCADE`来启用这一特性。这在保持数据完整性和一致性时非常有用。 6. **创建表空间*...

    基于Oracle的数据库完整性约束分析.pdf

    - 删除被参照关系中的元组时,Oracle支持受限删除(不允许删除)和级联删除(删除相关联的记录)。 - 插入参照关系中的元组时,通常执行受限插入,不允许违反参照完整性。 - 修改主键值不推荐,因为可能导致数据混乱...

    Oracle常用的一些语法、命令和函数

    Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,它包含了大量的语法、命令和函数,用于数据管理、查询、存储和处理。以下是一些Oracle中常见的语法、命令和函数的详细解释: 一、常用语法 1. **删除表...

    Oracle基本语句

    在 Oracle 中,级联删除需要使用 ALTER TABLE 语句,例如: ```sql ALTER TABLE stuinfo ADD CONSTRAINT stu_fk FOREIGN KEY (stu_id) REFERENCES students(id) ON DELETE CASCADE; ``` 这条语句添加了一个名为 stu_...

Global site tag (gtag.js) - Google Analytics