zoukankan      html  css  js  c++  java
  • oracle的触发器的使用举例

      这个文章演示了oracle触发器的使用,以备不时之需

    -- 创建一个表,未来需要在这个表上建立触发器
    create table baby_test
    (id number(20),
    name varchar(50),
    birthday date,
    login_date timestamp
    );
    
    -- 创建一个保存触发器操作的表
    -- drop table baby_test_log;
    create table baby_test_log
    (id number(20),
    name varchar(50),
    insert_date date default sysdate,
    operate varchar2(50)
    );
    
    
    -- 创建一个触发器。当对baby_test表的数据插入,修改和删除的时候,向baby_test_log中插入数据
    CREATE OR REPLACE TRIGGER trg_baby_test BEFORE
        INSERT OR UPDATE or delete ON baby_test
    FOR EACH ROW DECLARE
        -- local variables here
     BEGIN
        CASE
            WHEN inserting THEN
                INSERT INTO baby_test_log (
                    id,
                    name,
                    operate
                ) VALUES (
                    :new.id,
                    :new.name,
                    'inserting'
                );
    
            WHEN updating('name') THEN
                INSERT INTO baby_test_log (
                    id,
                    name,
                    operate
                ) VALUES (
                    :old.id,
                    :old.name,
                    'updating name'
                );
                
            WHEN deleting THEN
                INSERT INTO baby_test_log (
                    id,
                    name,
                    operate
                ) VALUES (
                    :old.id,
                    :old.name,
                    'deleting'
                );
    
        END CASE;
      END;
    
    -- 测试触发器
    insert into baby_test
    select 1,'baby',to_date('19990101','yyyymmdd'), sysdate from dual;
    
    select * from baby_test;
    
    update baby_test
    set name = 'hugh'
    where id = 1;
    
    delete from baby_test where id = 1;
    
    -- 查看触发器的结果
    select * from baby_test_log;
  • 相关阅读:
    一个简单的makefile,一次性编译本文件夹下所有的cpp文件
    c++ 最短路两种算法
    C++语言十进制数,CDecimal(未完成)
    C语言面向对象的简便方法
    C语言2048
    C图书借还示例
    Javascript 备忘
    原型与原型链
    css3动画-跳动圈
    学习css3动画
  • 原文地址:https://www.cnblogs.com/babyha/p/15021019.html
Copyright © 2011-2022 走看看