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_监测系统_多表视图触发器—向原始数据报表中插入数据的更多相关文章
-
TRIGGERS_监测系统_原始数据表触发器—调用告警信息存储过程
//每次向originaldata表中插入数据就会触发该触发器 create or replace trigger originaldata_to_alarm after insert on ori ...
-
触发器修改后保存之前的数据 表中插入数据时ID自动增长
create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...
-
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...
-
Hive通过查询语句向表中插入数据注意事项
最近在学习使用Hive(版本0.13.1)的过程中,发现了一些坑,它们或许是Hive提倡的比关系数据库更加*的体现(同时引来一些问题),或许是一些bug.总而言之,这些都需要使用Hive的开发人员额 ...
-
EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...
-
(笔记)Mysql命令insert into:向表中插入数据(记录)
insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...
-
Mysql命令insert into:向表中插入数据(记录)
insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...
-
初学者使用MySQL_Workbench 6.0CE创建数据库和表,以及在表中插入数据。
标签: mysqlworkbench数据库 2013-10-09 20:17 19225人阅读 评论(14) 收藏 举报 分类: mysql(1) 版权声明:本文为博主原创文章,未经博主允许不得转 ...
-
Hive通过查询语句向表中插入数据过程中发现的坑
前言 近期在学习使用Hive(版本号0.13.1)的过程中,发现了一些坑,它们也许是Hive提倡的比关系数据库更加*的体现(同一时候引来一些问题).也许是一些bug.总而言之,这些都须要使用Hive ...
随机推荐
-
Keepalived 配置实例
Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则 ...
-
【转】 Nginx深入详解之多进程网络模型
[转自]http://blog.chinaunix.net/uid-22312037-id-3974068.html 一.进程模型 Nginx之所以为广大码农喜爱,除了其高性能外,还有其 ...
-
Delphi 之前解析串口数据
//串口接收数据procedure TfrmClientMain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Wo ...
-
Codevs 4768 跳石头 NOIP2015 DAY2 T1
4768 跳石头 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 一年一度的"跳石头"比赛又要开始了! ...
-
javascript sort排序
var arr = [5,32,28,66,2,15,3]; arr.sort(function(a1,a2){ return a1-a2; //a2-a1 输入倒序 }); console.log( ...
-
Android06-Fragment碎片
¨Fragment简介 ¨Fragment生命周期 ¨动态加载碎片Fragment Manager的使用 1.Fragment表示Activity中的一种行为或者一部分用户界面. 可以将Fragm ...
-
全局作用域 eval
eval是在caller的作用域里运行传给它的代码: var x = 'outer'; (function() { var x = 'inner'; eval('x'); // & ...
-
自定义view-滑动开关
介绍 前段时间,我看到了一篇关于可滑动开关Switch组件的文章,效果图如下: 思路也挺简单的:这个控件主要由田径场式背景和滑块组成.他将田径场式背景分为3部分,最左边的半圆,中间的两条直线部分和最右 ...
-
ElasticSearch AggregationBuilders java api常用聚会查询
以球员信息为例,player索引的player type包含5个字段,姓名,年龄,薪水,球队,场上位置.index的mapping为: "mappings": { "pl ...
-
java基础篇---网络编程(IP与URL)
一:IP与InetAddress 在Java中支持网络通讯程序的开发,主要提供了两种通讯协议:TCP协议,UDP协议 可靠地连接传输,使用三方握手的方式完成通讯 不可靠的连接传输,传输的时候接受方不一 ...