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_监测系统_原始数据表触发器—调用告警信息存储过程

    //每次向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.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.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. (笔记)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_Workbench 6.0CE创建数据库和表,以及在表中插入数据。

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

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

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

随机推荐

  1. linux源码安装nodejs

    如何在linux上安装nodejs环境 到网下载安装文件node-v5.10.1-linux-x64.tar.gz.   将源码包上传到linux的/usr/local/node/目录下,在该目录下解 ...

  2. commons.fileupload简单应用

    导入包: commons-fileupload-1.3.1.jar commons-io-2.4.jar commons-fileupload依赖于commons-io,commons-io-2.4必 ...

  3. Android使用xml中定义的动画效果

    Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.zqrl_out); animation.setFil ...

  4. BZOJ 2661 连连看

    http://www.lydsy.com/JudgeOnline/problem.php?id=2661 思路:预处理出每个数字,然后若有x^2=y^2+z^2且z与y互质, s->x 1 ,0 ...

  5. 微软推荐的Get a code signing certificate流程和链接

    Get a code signing certificate   Before you can establish a Windows Dev Center hardware dashboard ac ...

  6. C 本地文件夸网文件Cp操作

    1,linux平台C简单实现本地文件cp 码子及运行效果测试

  7. 《Java程序员面试笔试宝典》之 什么是AOP

    AOP(Aspect-Oriented Programming,面向切面编程)是对面向对象开发的一种补充,它允许开发人员在不改变原来模型的基础上动态地修改模型从而满足新的需求.例如,在不改变原来业务逻 ...

  8. python之路-模块 splinter

    Splinter介绍 Splinter is an open source tool for testing web applications using Python. It lets you au ...

  9. PHP冒泡排序,选择排序,插入排序

    1  冒泡排序是两个元素相互比较,找到最小值,然后冒泡到最后,代码如下:

  10. PLSql连接远程Oracle方法