TRIGGERS_监测系统_多表视图触发器—向原始数据报表中插入数据

时间:2022-11-30 20:54:49

Create Or Replace Trigger trg_view_report
  Instead Of Insert or update or delete on view_for_report
  for each row
Declare

begin
  If Inserting Then
 
   
    if :new.temperature1 <= 250 then
        
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         1,
         '传感器一',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature1,
         :new.humidity1);
      
        
    end if;
    if :new.temperature2 <= 250 then
      
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         2,
         '传感器二',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature2,
         :new.humidity2);
    end if;
    if :new.temperature3 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         3,
         '传感器三',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature3,
         :new.humidity3);
    end if;
    if :new.temperature4 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         4,
         '传感器四',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature4,
         :new.humidity4);
    end if;
    if :new.temperature5 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         5,
         '传感器五',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature5,
         :new.humidity5);
    end if;
    if :new.temperature6 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         6,
         '传感器六',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature6,
         :new.humidity6);
    end if;
    if :new.temperature7 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         7,
         '传感器七',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature7,
         :new.humidity7);
    end if;
    if :new.temperature8 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         8,
         '传感器八',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature8,
         :new.humidity8);
    end if;
    if :new.temperature9 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         9,
         '传感器九',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature9,
         :new.humidity9);
    end if;
    if :new.temperature10 <= 250 then
      insert into originaldata_report
        (id,
         wid,
         wname,
         jurisdiction,
         jurisdiction_name,
         year,
         month,
         day,
         temperature,
         humidity)
      values
        (originaldata_report_id.nextval,
         :new.wid,
         :new.wname,
         10,
         '传感器十',
         :new.year,
         :new.month,
         :new.day,
         :new.temperature10,
         :new.humidity10);
    end if;
  elsif Deleting then
    Delete from originaldata_report t where t.wid = :Old.wid;
  End if;
end ;

TRIGGERS_监测系统_多表视图触发器—向原始数据报表中插入数据的更多相关文章

  1. TRIGGERS&lowbar;监测系统&lowbar;原始数据表触发器—调用告警信息存储过程

    //每次向originaldata表中插入数据就会触发该触发器 create or replace trigger originaldata_to_alarm  after insert on ori ...

  2. 触发器修改后保存之前的数据 表中插入数据时ID自动增长

    create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...

  3. 第18课-数据库开发及ado&period;net 连接数据库&period;增&period;删&period;改向表中插入数据并且返回自动编号&period;SQLDataReade读取数据

    第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...

  4. Hive通过查询语句向表中插入数据注意事项

    最近在学习使用Hive(版本0.13.1)的过程中,发现了一些坑,它们或许是Hive提倡的比关系数据库更加*的体现(同时引来一些问题),或许是一些bug.总而言之,这些都需要使用Hive的开发人员额 ...

  5. EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的

    我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...

  6. &lpar;笔记&rpar;Mysql命令insert into:向表中插入数据(记录)

    insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...

  7. Mysql命令insert into:向表中插入数据(记录)

    insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...

  8. 初学者使用MySQL&lowbar;Workbench 6&period;0CE创建数据库和表,以及在表中插入数据。

    标签: mysqlworkbench数据库 2013-10-09 20:17 19225人阅读 评论(14) 收藏 举报  分类: mysql(1)  版权声明:本文为博主原创文章,未经博主允许不得转 ...

  9. Hive通过查询语句向表中插入数据过程中发现的坑

    前言 近期在学习使用Hive(版本号0.13.1)的过程中,发现了一些坑,它们也许是Hive提倡的比关系数据库更加*的体现(同一时候引来一些问题).也许是一些bug.总而言之,这些都须要使用Hive ...

随机推荐

  1. Keepalived 配置实例

    Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则 ...

  2. 【转】 Nginx深入详解之多进程网络模型

    [转自]http://blog.chinaunix.net/uid-22312037-id-3974068.html 一.进程模型        Nginx之所以为广大码农喜爱,除了其高性能外,还有其 ...

  3. Delphi 之前解析串口数据

    //串口接收数据procedure TfrmClientMain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Wo ...

  4. Codevs 4768 跳石头 NOIP2015 DAY2 T1

    4768 跳石头 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 一年一度的"跳石头"比赛又要开始了! ...

  5. javascript sort排序

    var arr = [5,32,28,66,2,15,3]; arr.sort(function(a1,a2){ return a1-a2; //a2-a1 输入倒序 }); console.log( ...

  6. Android06-Fragment碎片

    ¨Fragment简介 ¨Fragment生命周期 ¨动态加载碎片Fragment Manager的使用   1.Fragment表示Activity中的一种行为或者一部分用户界面. 可以将Fragm ...

  7. 全局作用域 eval

    eval是在caller的作用域里运行传给它的代码: var x = 'outer';   (function() {     var x = 'inner';     eval('x'); // & ...

  8. 自定义view-滑动开关

    介绍 前段时间,我看到了一篇关于可滑动开关Switch组件的文章,效果图如下: 思路也挺简单的:这个控件主要由田径场式背景和滑块组成.他将田径场式背景分为3部分,最左边的半圆,中间的两条直线部分和最右 ...

  9. ElasticSearch AggregationBuilders java api常用聚会查询

    以球员信息为例,player索引的player type包含5个字段,姓名,年龄,薪水,球队,场上位置.index的mapping为: "mappings": { "pl ...

  10. java基础篇---网络编程&lpar;IP与URL&rpar;

    一:IP与InetAddress 在Java中支持网络通讯程序的开发,主要提供了两种通讯协议:TCP协议,UDP协议 可靠地连接传输,使用三方握手的方式完成通讯 不可靠的连接传输,传输的时候接受方不一 ...