打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
能否在我执行插入操作后trigger触发update本表的记录
在Oracle 11g中,借助compound trigger,可以轻松的解决类似的问题,比如:

Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
Connected as study

SQL>
SQL> create table zrp (no int);

Table created

SQL> create or replace trigger trig_comp_zrp
  2  for insert on zrp
  3  compound trigger
  4  
  5    v_no number;
  6  
  7    after each row is
  8    begin
  9       v_no:=:new.no;
10    end after each row;
11  
12    after statement is
13    begin
14        update zrp set no=v_no+100 where no=v_no;
15    end after statement;
16  end;
17  /

Trigger created

SQL> select * from zrp;

                                     NO
---------------------------------------

SQL> insert into zrp values(1);

1 row inserted

SQL> select * from zrp;

                                     NO
---------------------------------------
                                    101

SQL> insert into zrp values(2);

1 row inserted

SQL> select * from zrp;

                                     NO
---------------------------------------
                                    101
                                    102
SQL> insert into zrp values(3);

1 row inserted

SQL> select * from zrp;

                                     NO
---------------------------------------
                                    101
                                    102
                                    103
SQL> commit;

Commit complete

SQL> select * from zrp;
                                     NO
---------------------------------------
                                    101
                                    102
                                    103
SQL>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
oracle中触发器使用遇到的mutating table
oracle触发器
SYBASE触发器及应用
简单触发器的使用—献给SQL初学者
oracle with as 用法
Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服