• Oracle触发器Trigger基础1


    /*
    Trigger是作用在表上,或是数据库上,或是用户上。当用户在表上(其他)做某些操作时,trigger将会自己执行。
        可以在表上:insert,update,delete
        Trigger只对表的写入,修改、删除。
    */
    /*
    语法
    CREATE [OR REPLACE] TRIGGER trigger名称 
    { BEFORE | AFTER | INSTEAD OF } 
    –    在什么之前,或是在什么之后,用有具体的表上
    –    Instend of 替换用在view上面trigger
     ON  - 添加到什么什么上面
    { someTable}   - 触发器作用在某个表上
    [ for each row] – 行级触发器
    }
    [WHEN (条件,当什么时间触发下面的代码) ] 
    Declare
      --..
    Begin
        ...
    End;
    */
    
    --向一个表stud中写入数据,要求在后台输出一句:你写入成功了
    create table tigger_t (
    id int,
    name varchar(30)
    );
    --修改表名
    --rename old to new;
    alter table TIGGER_T rename to trigger_t;
    --还可以create 。。。。as select * ...
    --drop 原来表名
    
    --创建触发器
    create or replace trigger t1
    after insert on trigger_t
    declare
    begin
    dbms_output.put_line('写入成功');
    end;
    --测试
    set serveroutput on;
    insert into trigger_t values(1,'jack');
    commit;
    --创建删除时的触发器
    create or replace trigger t1
    after delete on trigger_t--表级触发器,删除多少行只只能高兴一次plsql
     for each row--行级,没行都会执行
    declare
    begin
    dbms_output.put_line('删除成功');
    end;
    set serveroutput on;
    delete from trigger_t;
    commit;
    select * from trigger_t;
  • 相关阅读:
    ✨Synchronized底层实现---偏向锁
    🌞LCP 13. 寻宝
    ✨Synchronized底层实现---概述
    ⛅104. 二叉树的最大深度
    c++多线程之顺序调用类成员函数
    C++ STL实现总结
    C#小知识
    C#中HashTable和Dictionary的区别
    WPF的静态资源(StaticResource)和动态资源(DynamicResource)
    WPF之再谈MVVM
  • 原文地址:https://www.cnblogs.com/xiaweifeng/p/3679162.html
Copyright © 2020-2023  润新知