oracle 级联,Oracle 级联约束

为什么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

为什么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

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值