按道理应该是可以的,我这里没问题:
11:09:23 SQL> desc t4;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
RN NUMBER
11:09:26 SQL> alter table t4 modify rn primary key;
表已更改。
11:31:12 SQL> create table t5(rn number,foreign key (rn) references t4(rn) on de
lete cascade);
表已创建。
11:31:42 SQL> insert into t5 values(1);
已创建 1 行。
11:31:54 SQL> insert into t5 values(1);
已创建 1 行。
11:31:55 SQL> insert into t5 values(2);
已创建 1 行。
11:31:57 SQL> insert into t5 values(10);
已创建 1 行。
11:32:00 SQL> commit;
提交完成。
11:32:18 SQL> delete from t4 where rn=1;
已删除 1 行。
11:32:27 SQL> commit;
提交完成。
11:32:39 SQL> select * from t5;
RN
----------
2
10
11:32:42 SQL>
11:09:23 SQL> desc t4;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
RN NUMBER
11:09:26 SQL> alter table t4 modify rn primary key;
表已更改。
11:31:12 SQL> create table t5(rn number,foreign key (rn) references t4(rn) on de
lete cascade);
表已创建。
11:31:42 SQL> insert into t5 values(1);
已创建 1 行。
11:31:54 SQL> insert into t5 values(1);
已创建 1 行。
11:31:55 SQL> insert into t5 values(2);
已创建 1 行。
11:31:57 SQL> insert into t5 values(10);
已创建 1 行。
11:32:00 SQL> commit;
提交完成。
11:32:18 SQL> delete from t4 where rn=1;
已删除 1 行。
11:32:27 SQL> commit;
提交完成。
11:32:39 SQL> select * from t5;
RN
----------
2
10
11:32:42 SQL>