zoukankan      html  css  js  c++  java
  • 触发器

    ------------------------------------------------触发器 begin---------------------------------
    29. 触发器的 helloworld: 编写一个触发器, 在向 emp 表中插入记录时, 打印 'helloworld'

    create or replace trigger emp_trigger
           after insert on emp
           for each row
    begin
           dbms_output.put_line('helloworld');
    end;
    
    
    30. 行级触发器: 每更新 employees 表中的一条记录, 都会导致触发器执行
    
    
    create or replace trigger employees_trigger
           after update on employees
           for each row
    begin
           dbms_output.put_line('修改了一条记录!');
    end;


    语句级触发器: 一个 update 语句只使触发器执行一次

    create or replace trigger employees_trigger
           after update on employees
    begin
           dbms_output.put_line('修改了一条记录!');
    end;

    31. 使用 :new, :old 修饰符

    create or replace trigger employees_trigger
           after update on employees
           for each row
    begin
           dbms_output.put_line('old salary: ' || :old.salary || ', new salary: ' || :new.salary);
    end;

    32. 编写一个触发器, 在对 my_emp 记录进行删除的时候, 在 my_emp_bak 表中备份对应的记录


    1). 准备工作:

    create table my_emp as select employee_id id, last_name name, salary sal from employees
    create table my_emp_bak as select employee_id id, last_name name, salary sal from employees where 1 = 2

    2). 

    create or replace trigger bak_emp_trigger
           before delete 
           on my_emp
           for each row
           
    begin
           insert into my_emp_bak values(:old.id, :old.name, :old.sal);
    end; 

    ------------------------------------------------触发器 end---------------------------------

  • 相关阅读:
    TS流批量下载----------Xamarin开发系列
    TS视频流下载合成
    B站缓存视频音频合并
    ActiveX录音插件
    FZU-2191 完美的数字 简单数论
    COCI2011/2012 破解密文 KMP
    COCI2010/2011 踢踏舞 线段树区间子段和
    [USACO03FALL] 受欢迎的牛-G tarjan缩点
    洛谷 P1967 货车运输 最大生成树+倍增LCA
    洛谷 P1613 跑路 倍增+最短路
  • 原文地址:https://www.cnblogs.com/nbkyzms/p/5031428.html
Copyright © 2011-2022 走看看