Oracle数据库级联删除、级联更新的实现

oracle 级联删除的实现

代码:

 --设置外键约束(可以通过consteraint给约束命名)
       p_m number(10) references main(m_id) on delete cascade

相关解释:

foreign key 的作用是定义外键约束

regerences的作用是赋予权限

on delete cascade 级联删除,彻底删除相关数据

on delete set null 半级联删除,会将子表中对应的值设为null(前提是外键引用列可以设置为null )

oracle 数据库级联更新

oracle数据库本身不支持外键的级联更新,不过我们可以有其他方法达到级联更新的效果(oracle的延迟约束和非延迟约束)

非延迟约束就是在修改记录的时候会立刻进行约束条件的查看,看是否因为违反了某些约束条件而不能执行修改。延迟约束不会在刚进行修改的时候进行约束查看,只有提交的时候才会检查。oracle的级联更新就是使用这个特性来实现的

步骤分为两步:

第一步更改为延迟约束

第二步设置触发器,当主表的主键更改了,就更新子表的外键

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐