oracle 基表刷新,oracle trigger是否可以更新基表

在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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值