如何使用级联神谕(how to use cascade in oracle)

2019-10-16 21:52发布

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
);

已经来到在使用Oracle的错误。

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

级联*

ERROR位于第9行:ORA-00907:缺少右括号

此查询工作的MySQL,但在Oracle中不工作? 请谁能告诉我在Oracle是如何工作的。

Answer 1:

Oracle不支持主键的级联更新。 主键应该是既独特又不可变的,所以应该不是以往任何时候都需要改变。 因为你永远不应该被更新的主键,应该没有必要级联这些更新。

在一般情况下,你可能也应该使用VARCHAR2数据类型而不是VARCHAR 。 目前,这些数据类型是相同的,但Oracle可能改变的语义VARCHAR类型在将来使得从不同的处理空字符串NULL 。 假设你不希望你的应用程序在未来可能会破坏时,这些语义改变,这将是更安全的使用VARCHAR2



文章来源: how to use cascade in oracle