zoukankan      html  css  js  c++  java
  • Oracle中的instead of触发器

    Instead of : 用Trigger的内容替换 事件本身的动作,该触发器用在视图上,举例:

    一:创建一个update替代触发器

    (1)创建一个视图

    1 create or replace view my_view
    2 as
    3 select id,name from my_table;

    查询到视图中的数据如下图:

    (2)创建一个update替代触发器,当update视图数据时触发,打印输出下列红色字体语句,来代替更新视图数据

    1 create or replace trigger u_trigger
    2 instead of
    3 update on my_view
    4 for each row
    5    
    6 begin
    7   dbms_output.put_line('执行update替代触发器!');
    8 end;

    (3)执行SQL语句,并查看结果,红色框是触发器触发时输出的结果

    二:创建一个delete替代触发器

     (1)创建一个视图

    1 create or replace view my_view
    2 as
    3 select id,name from my_table;

    查询到视图中的数据如下图:

    (2)创建一个delete替代触发器,当delete视图数据时触发,打印输出下列红色字体语句,来代替删除视图数据

    1 create or replace trigger d_trigger
    2 instead of
    3 delete on my_view
    4 for each row
    5   
    6 begin
    7   dbms_output.put_line('执行delete替代触发器!');
    8 end;

    (3)执行SQL语句,并查看结果,红色框是触发器触发时输出的结果

  • 相关阅读:
    ServiceModel 元数据实用工具 (Svcutil.exe)
    SvsUtil.exe生成服务文件
    WCF经典代码
    Redis以服务的形式启动
    WinForm下的Nhibernate+Spring.Net的框架配置文件
    Bootstrap 简介二
    Bootstrap 简介
    CodeMatic动软自动生成Nhibernate
    redis.conf配置项说明
    一.RocketMQ消息中间件 windwos使用
  • 原文地址:https://www.cnblogs.com/AI-xiaocai/p/11203249.html
Copyright © 2011-2022 走看看