Oracle 级联约束

来源:互联网 发布:java jdbc学生管理 编辑:程序博客网 时间:2024/05/01 11:36

为什么pk、和col1 不能DROP

SQL> CREATE TABLE test2 (
  2      pk NUMBER PRIMARY KEY,
  3      fk NUMBER,
  4      col1 NUMBER,
  5      col2 NUMBER,
  6      CONSTRAINT fk_constraint FOREIGN KEY (fk) REFERENCES test2,
  7      CONSTRAINT ck1 CHECK (pk > 0 and col1 > 0),
  8      CONSTRAINT ck2 CHECK (col2 > 0)
  9      )
 10  /                                                                                                                                                                

表已创建。

SQL> ALTER TABLE test2 DROP (pk);
ALTER TABLE test2 DROP (pk)
                        *
第 1 行出现错误:
ORA-12992: 无法删除父项关键字列


SQL> ALTER TABLE test2 DROP (col1);
ALTER TABLE test2 DROP (col1)
                        *
第 1 行出现错误:
ORA-12991: 引用的列处于多列约束条件


SQL> ALTER TABLE test2 DROP (fk);

表已更改。

SQL> alter table test2 drop (col2);

表已更改。

SQL>

实在不理解 ↓

SQL> ALTER TABLE test2 DROP (fk);

表已更改。

SQL> alter table test2 drop (col2);

表已更改。

SQL>

 

为什么pk、和col1 不能DROP
原创粉丝点击