create or replace trigger tri_t1
before delete on t1 for each row
declare
pcount number;
begin
select count(*) into pcount where id=:old.id;
if(pcount=0) then
delete from t2 where id=:old.id;
end if;
end;
上面是触发器代码,请问我该如何改??
使用这句话报错,是触发器里面必须用到,我是删除t1表的一行,如果t1表里只有这一行的话就删除t2表,否则不删除。各位高手,求指教
before delete on t1 for each row
declare
pcount number;
begin
select count(*) into pcount where id=:old.id;
if(pcount=0) then
delete from t2 where id=:old.id;
end if;
end;
上面是触发器代码,请问我该如何改??
使用这句话报错,是触发器里面必须用到,我是删除t1表的一行,如果t1表里只有这一行的话就删除t2表,否则不删除。各位高手,求指教
解决方案 »
- oracle 11g 安装时密码全设为数字了,em登陆不上怎么办啊?
- 查询表空间使用情况问题
- 如何解决不能在UTF8和UCS2之间转换的问题!!??(急!!)
- “数据块损坏”预警日志错误: 时间/行号 Thu Aug 26 14:51:07 2010/33
- 多表查询中rownum的使用问题
- ----------出资-----出资----------请高手安装配置数据库集群
- 关于"ORA-00603: ORACLE 服务器会话因致命错误而终止"的问题
- oracle级联操作问题,各位帮个忙
- oracle装在d盘,C盘格式化后,数据还能恢复吗
- 为什么我的OracleOraHome81ManagementServer启动不起来.
- 急,哪为大虾帮帮忙,本人新手,用plsql删除表时没提交,现在左侧栏目里表名还在,但是对表操作时又提示表不存在,请问我该怎么彻底将它删掉
- 关于一条查询语句 请指点
CREATE OR REPLACE TRIGGER Tri_T11
BEFORE DELETE ON T11
FOR EACH ROW
DECLARE
pcount number;
BEGIN
select count(*) into pcount FROM T11 where id = :old.id;
if(pcount = 0) then
delete from T12 where id=:old.id;
END IF;
END Tri_T11;
上述代码编译没有问题。
如果t1表里不存在要删除的行的话,就删除t2表中的这一行,否则不删除。矛盾啊!