oracle中的update cascade具体的用法是怎么样的
解决方案 »
- 导入数据库时表名前面有都有用户名 如何解决??
- 在RHEL5.3上安装Oracle10g的10201版本,需要哪些程序包
- oracle自定义函数插入if/else if/else/end if 后编译出现PLS-00103错误!
- 数据库连接
- SQL语句错误
- oracle8.1.6与oracle8.1.7问题?
- 日期类型的'0000-00-00'
- 我的这个存储过程报pls00103:Encountered the symbol "b_cur " when exception one of the fol
- SQL查询每次量级都不同
- Linux redhat6.9 安装oracle11g
- sqlldr导入bcp生成的BLOB二进制数据
- 在游标上用for update 的问题
因此只给你举一个级联删除的例子,在支持级联更新的数据库系统里面同理。[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>