日期:2014-05-16 浏览次数:21064 次
[SYS@myoracle] SQL>CREATE TABLE t1(pk INT);
表已创建。
[SYS@myoracle] SQL>CREATE TABLE t2(pk INT);
表已创建。
[SYS@myoracle] SQL>ALTER TABLE t1 ADD CONSTRAINT pk_t1 PRIMARY KEY(pk);
表已更改。
[SYS@myoracle] SQL>ALTER TABLE t2 ADD CONSTRAINT fk_t2 FOREIGN KEY(pk) REFERENCES t1(pk) ON DELETE CASCADE;
表已更改。
[SYS@myoracle] SQL>INSERT INTO t1 VALUES(1);
已创建 1 行。
[SYS@myoracle] SQL>INSERT INTO t1 VALUES(2);
已创建 1 行。
[SYS@myoracle] SQL>INSERT INTO t2 VALUES(1);
已创建 1 行。
[SYS@myoracle] SQL>SELECT * FROM t1;
PK
----------
1
2
[SYS@myoracle] SQL>SELECT * FROM t2;
PK
----------
1
[SYS@myoracle] SQL>DELETE FROM t1 WHERE pk=1;
已删除 1 行。
[SYS@myoracle] SQL>DROP TABLE t2;
表已删除。
[SYS@myoracle] SQL>DROP TABLE t1;
表已删除。
[SYS@myoracle] SQL>
[SYS@myoracle] SQL>CREATE TABLE t1(pk INT);
表已创建。
[SYS@myoracle] SQL>CREATE TABLE t2(pk INT);
表已创建。
[SYS@myoracle] SQL>ALTER TABLE t1 ADD CONSTRAINT pk_t1 PRIMARY KEY(pk);
表已更改。
[SYS@myoracle] SQL>ALTER TABLE t2 ADD CONSTRAINT fk_t2 FOREIGN KEY(pk) REFERENCES t1(pk);
表已更改。
[SYS@myoracle] SQL>INSERT INTO t1 VALUES(1);
已创建 1 行。
[SYS@myoracle] SQL>INSERT INTO t1 VALUES(2);
已创建 1 行。
[SYS@myoracle] SQL>INSERT INTO t2 VALUES(1);
已创建 1 行。
[SYS@myoracle] SQL>SELECT * FROM t1;
PK
----------
1
2
[SYS@myoracle] SQL>SELECT * FROM t2;
PK
----------
1
[SYS@myoracle] SQL>DELETE FROM t1 WHERE pk=1;
DELETE FROM t1 WHERE pk=1
*
第 1 行出现错误:
ORA-02292: 违反完整约束条件 (SYS.FK_T2) - 已找到子记录
[SYS@myoracle] SQL>DROP TABLE t2;
表已删除。
[SYS@myoracle] SQL>DROP TABLE t1;
表已删除。
[SYS@myoracle] SQL>