博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle触发器中增删改查本表
阅读量:4694 次
发布时间:2019-06-09

本文共 767 字,大约阅读时间需要 2 分钟。

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)使用自治事务可以实现新增或删除本表的记录。这种情况一般不会用到。

转载于:https://www.cnblogs.com/dyllove98/p/3192321.html

你可能感兴趣的文章
【IScroll深入学习】突破移动端黑暗的利器(上)
查看>>
【blade04】用面向对象的方法写javascript坦克大战
查看>>
采用express创建nodejs服务器
查看>>
corona group
查看>>
[转]centos6 与 7 其中的一些区别
查看>>
bower的下载安装及使用
查看>>
Attention: Unsupported Video Configuration Detected
查看>>
注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(二):进一步消除 hibernate.cfg.xml...
查看>>
UILabel + 导入字体
查看>>
AJAX分段下载/读取HTML内容(有效节省带宽加快运行速度)
查看>>
python 实时遍历日志文件
查看>>
#毕业论文#准备毕业论文答辩,持续更新
查看>>
Mac下安装mongoDB
查看>>
Java 对象 引用,equal == string
查看>>
Python使用re模块实现正则表达式操作
查看>>
Xpath语法详解
查看>>
测试报告编写
查看>>
【Thread】java线程之对象锁、类锁、线程安全
查看>>
CSS总结六:动画(一)ransition:过渡、animation:动画、贝塞尔曲线、step值的应用
查看>>
php初进一个项目组,使用几个函数帮忙熟悉流程
查看>>