在b1中写触发器或者先删
delete from b3 where b2id in (select b2id from b2 where b1id=1)
再删
delete from b2 where b1id=1
最后
delete from b1 where b1id=1
delete from b3 where b2id in (select b2id from b2 where b1id=1)
再删
delete from b2 where b1id=1
最后
delete from b1 where b1id=1
解决方案 »
- 一个简单的update语句总是提示错误!
- create table的小问题,在线等
- oralce中sql优化
- 大家帮我看看这个oracle触发器,执行时说变异表,怎么回事?
- 新手刚接触 Oracle,有几个问题请教
- 在同一编译环境下有时能访问oracle数据库,有时不能.请问为何?
- 這個語句爲什麽報錯 麻煩各位~
- 怎么统计某列里有多少个行的值不相同
- PLSQL Developer 登陆时,出现OCI.DLL警告“系统找不到指定模块”无法登陆,点cancel进入界面后无法关闭,谢谢!
- 为啥删了个文件就不能运行了,求大家帮忙解决下
- 我安装完oracle9i后,不能进入sql plus????
- 这样的sql怎么写?
BEFORE delete ON b1
FOR EACH ROW
BEGIN
DELETE FROM b2 WHERE b1id=:OLD.b1id;
END IF;CREATE OR REPLACE TRIGGER b2_tri
BEFORE delete ON b2
FOR EACH ROW
BEGIN
DELETE FROM b3 WHERE b2id=:OLD.b2id;
END IF;