和你的表格的定义有关系,可以看看http://www.techonthenet.com/oracle/foreign_keys/foreign_delete.php
解决方案 »
- Oracle同时更新一张表很多的字段,求无需将字段全部都列出来的简便方法
- 再问关于“非法的变量名”问题
- 问下大家,这个SQL语句应该怎么写??
- ORACLE非预定义异常错误的问题
- 触发器或check问题,我也不清楚..
- oracle 11g 连接 report 6i 出现的错误
- 如果查找的记录占整张表的比例很大(一般以7%为界),超过的话全表扫描更快
- 问一下oracle术语
- 我的ORACLE 启动不了,主要是监听器出问题了,DX请帮忙!
- windows系统,oracle连接本地服务器,报错“ORA-12523” 监听程序无法找到适用于客户机连接的例程
- 能不能不安装ORACLE9I客户端
- 重装oracle 后,数据库的导入
成级联删除另一种方法是在表A中定义一个基于delete的触发器。定义时,注意删除的先后关系。
或是分开写:
delete 表B where 主键=(select 回风巷道ID 表A where 主键=1)
and ((select count(*) from 表A where 回风巷道ID =(select 回风巷道ID 表A where 主键=1))<2)delete 表B where 主键=(select 顺槽巷道ID 表A where 主键=1)
and ((select count(*) from 表A where 顺槽巷道ID =(select 顺槽巷道ID 表A where 主键=1))<2)delete 表B where 主键=(select 切眼巷道ID 表A where 主键=1)
and ((select count(*) from 表A where 切眼巷道ID =(select 切眼巷道ID 表A where 主键=1))<2) delete 表A where 主键=1 delete 表D where 所属巷道ID =(select 回风巷道ID 表A where 主键=1)
and ((select count(*) from 表A where 回风巷道ID =(select 回风巷道ID 表A where 主键=1))<2)