频道栏目
IT货架 > > 正文
DML触发器
网友分享于:Jan 1, 1970 8:00:00 AM    来源: IT货架   

标签:style   class   blog   c   code   java   

 

数据库触发器是特殊的存储程序。通常不直接调用它们,而是由数据库的事件触发。
触发器分类:
    >DML触发器
    >instead-of触发器
    >系统事件触发器,还可以是DDL
create sequence trig_seq
    start with 1
    increment by 1;

create or replace package TrigPackage as
    v_Counter  number;
end TrigPackage;

create or replace trigger BooksBStatement    
    before update on books
begin
    TrigPackage.v_Counter:=0;   --语句级before触发器
    insert into temp_table(num_col,char_col)
    vaules(trig_seq.nextval,before statement:counter=||TrigPackage.v_Counter);
    TrigPackage.v_Counter:=TrigPackage.v_Counter+1;
end BooksBStatement
/

create or replace trigger BooksAStatement1   --语句级after触发器1
    after update on books
begin
    insert into temp_table(num_col,char_col)
    vaules(trig_seq.nextval,after statement:counter1=||TrigPackage.v_Counter);
    TrigPackage.v_Counter:=TrigPackage.v_Counter+1;
end BooksBStatement1
/

create or replace trigger BooksAStatement2  --语句级after触发器2(会先执行2)
    after update on books
begin
    insert into temp_table(num_col,char_col)
    vaules(trig_seq.nextval,after statement:counter2=||TrigPackage.v_Counter);
    TrigPackage.v_Counter:=TrigPackage.v_Counter+1;
end BooksBStatement2
/


create or replace trigger BooksBRows1     --行级before触发器1
    before update  on books
    for each row
begin
    insert into temp_table(num_col,char_col)
    vaules(trig_seq.nextval,before row:counter1=||TrigPackage.v_Counter);
    TrigPackage.v_Counter:=TrigPackage.v_Counter+1;
end BooksBRows1
/

create or replace trigger BooksBRows2     --行级before触发器2
    before update  on books
    for each row
begin
    insert into temp_table(num_col,char_col)
    vaules(trig_seq.nextval,before row:counter2=||TrigPackage.v_Counter);
    TrigPackage.v_Counter:=TrigPackage.v_Counter+1;
end BooksBRows2
/


create or replace trigger BooksARow    ----行级after触发器
    after update  on books
    for each row
begin
    insert into temp_table(num_col,char_col)
    vaules(trig_seq.nextval,after row:counter=||TrigPackage.v_Counter);
    TrigPackage.v_Counter:=TrigPackage.v_Counter+1;
end BooksBRows
/

 

DML触发器,布布扣,bubuko.com

DML触发器

标签:style   class   blog   c   code   java   

广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1