> 데이터 베이스 > MySQL 튜토리얼 > Oracle触发器中增删改查本表

Oracle触发器中增删改查本表

WBOY
풀어 주다: 2016-06-07 17:30:50
원래의
1575명이 탐색했습니다.

Oracle触发器中增删改查本表 (1)只有before insert触发器中才可以查询或更新本表 create or replace trigger tri_test_ins befor

Oracle触发器中增删改查本表

(1)只有before insert触发器中才可以查询或更新本表

create or replace trigger tri_test_ins

before insert

on test

for each row

declare

v_cnt integer;

begin

select count(*) into v_cnt from test;

dbms_output.put_line('test count:'||to_char(v_cnt));

update test set a9='99';

end;

执行insert后,只有当前插入的记录值不是99,,其它的记录都被更新成了99。

(2)before/after update、before/after delete、after insert5种情况都不可以查询或更新本表。

(3)使用自治事务可以实现任意触发器查本表。但不能实现在自治事务中更新本表。

查询本表的情况是最常见的。

create or replace trigger tri_test_ins

after update

on test

for each row

declare

v_cnt integer;

PRAGMA AUTONOMOUS_TRANSACTION;

begin

begin

select count(*) into v_cnt from test;

dbms_output.put_line('test count:'||to_char(v_cnt));

end;

end;

(4)使用自治事务可以实现新增或删除本表的记录。这种情况一般不会用到。

相关阅读:

Oracle触发器的使用

Oracle触发器给表自身的字段重新赋值出现ORA-04091异常

Oracle创建触发器调用含参数存储过程

Oracle触发器查询统计本表

MySQL 触发器应用案例

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿