如何在 Oracle 中使用级联


create table loginDetails(
 userId   varchar(30),
 cellPhoneNo    varchar(10),    
 displayName  varchar(20),
 password   varchar(20),
 secretQuestion varchar(50),
 secretAnswer varchar(50),
 joiningDate    date,
 foreign key(userId) references userDetails(userId) on delete cascade on update cascade
);

该错误是在甲骨文中使用时出现的。

foreign key(userId) references userDetails(userId) on delete cascade on update

级 联 *

第 9 行错误: ORA-00907:缺少右括号

此查询在 mysql 上工作,但在 oracle 中不起作用? 请谁告诉我它在 Oracle 中是如何工作的。

Oracle 不支持主键的级联更新。 主键应该是唯一且不可变的,因此它永远不需要更改。 由于您永远不应该更新主键,因此不需要级联这些更新。

通常,您可能还应该使用 VARCHAR2 数据类型而不是 VARCHAR 。 目前,这些数据类型是相同的,但 Oracle 将来可能会更改VARCHAR类型的语义,以使空字符串的处理方式与 NULL 不同。 假设您不希望应用程序将来在这些语义更改时可能会中断,则使用 VARCHAR2 会更安全。

最新更新