Heim >Datenbank >MySQL-Tutorial >Oracle 级联约束

Oracle 级联约束

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:20:291294Durchsuche

为什么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
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn