「已注销」
2017-05-21 02:27在oracle数据库中的触发器怎么可以回滚主事务的操作
我执行下面这段代码之后没有出错,然后更新cusinfo表,想要回滚主事务的操作,但是这里提示说不能再触发器使用rollback(使用子事务也没什么用)
create or replace trigger forbid_insert_update_cusinfo --触发器,通过cusinfo表的FILINGMAN或CHARGEMAN列值是否存在于userinfo表中,若存在插入,若不存在就rollback
before update or insert of filingman,chargeman on cusinfo
for each row
declare
v_countf number;
v_countc number;
begin
select count(*) into v_countf from userinfo where username=:new.filingman;
select count(*) into v_countc from userinfo where username=:new.chargeman;
if v_countf=0 then--要注意,这里的判断不能写==
rollback;
elsif v_countc=0 then
rollback;
end if;
end;
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- Zend Framework数据库事务 - 无法回滚
- transactions
- mysql
- php
- 2个回答
- 使用回滚在事务内部进行SQL查询插入检查
- mysql
- pdo
- php
- 1个回答
- 如何在codeigniter中回滚迁移?
- rollback
- codeigniter
- migration
- php
- 1个回答
- springboot多数据源事物回滚不生效
- java
- spring
- oracle
- mysql
- jar
- 3个回答
- springmvc+hibernate整合事务不回滚,求解
- 事务
- springmvc
- hibernate
- 0个回答
换一换