【发布时间】:2018-02-28 13:30:15
【问题描述】:
如何在 Oracle 中执行 on Update Cascade?我读到这是不可能的。在 mysql 或 plsql 中是允许的。但是如何在 Oracle 中做同样的事情呢?
示例:
create table section(
id int not null primary key );
Create table student(
id int not null primary key,
name varchar2(30),
numSec int not null,
Constraint fk_section Foreign key(numSec) references section(id) ON UPDATE CASCADE);
【问题讨论】:
-
不可能。 Oracle 根本不支持这一点。 (在“PL/SQL”中绝对不允许这样做,因为这是 Oracle 用于存储过程的语言。而且存储过程没有外键)
-
如我所说:Oracle不支持
on update cascade -
那么,如何更新引用表中的外键?
-
带有
update声明 -
那更糟糕!要更改数据类型,您需要删除所有相关表的所有约束更改所有叶表数据类型(使用更改)列,然后表本身,然后重新创建约束。
标签: oracle foreign-keys ddl cascade