PROCEDURE_监测系统_原始数据报表数据生成存储过程—求每天平均值插入多表视图
create or replace procedure proc_generate_report(in_date in varchar2) is
v_retCode varchar2(20);
v_retMsg varchar2(500);
begin
v_retCode:= '';
v_retMsg:= '';
insert into view_for_report
select t.id,
max(w.wid) wid,
max(w.wname) wname,
substr(max(t.time), 1, 4) year,
substr(max(t.time), 6, 2) month,
substr(max(t.time), 9, 2) day,
round(avg(temperature1), 2) temperature1,
round(avg(humidity1), 2) humidity1,
round(avg(temperature2), 2) temperature2,
round(avg(humidity2), 2) humidity2,
round(avg(temperature3), 2) temperature3,
round(avg(humidity3), 2) humidity3,
round(avg(temperature4), 2) temperature4,
round(avg(humidity4), 2) humidity4,
round(avg(temperature5), 2) temperature5,
round(avg(humidity5), 2) humidity5,
round(avg(temperature6), 2) temperature6,
round(avg(humidity6), 2) humidity6,
round(avg(temperature7), 2) temperature7,
round(avg(humidity7), 2) humidity7,
round(avg(temperature8), 2) temperature8,
round(avg(humidity8), 2) humidity8,
round(avg(temperature9), 2) temperature9,
round(avg(humidity9), 2) humidity9,
round(avg(temperature10), 2) temperature10,
round(avg(humidity10), 2) humidity10
from originaldata t, warehouse_new w
where t.id = w.client_id
and t.time <= in_date
group by t.id;
commit;
exception
when others then
v_retCode := sqlcode;
v_retMsg := sqlerrm || sysdate;
insert into operationlog
(id, time, behavior, state, reason)
values
(operationlog_id_seq.nextval,
to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'),
'生成报表数据',
0,
v_retMsg);
commit;
end proc_generate_report;
PROCEDURE_监测系统_原始数据报表数据生成存储过程—求每天平均值插入多表视图的更多相关文章
- PROCEDURE_监测系统_数据备份存储过程—备份原始数据,每十分钟一条,取平均值
create or replace procedure proc_backup_originaldata(retCode out varchar2, -- 返回码 ...
- PROCEDURE_监测系统_告警信息存储过程—产生告警信息插入告警表
create or replace procedure proc_alarmlog(in_id in number, --采集器编码 ...
- TRIGGERS_监测系统_原始数据表触发器—调用告警信息存储过程
//每次向originaldata表中插入数据就会触发该触发器 create or replace trigger originaldata_to_alarm after insert on ori ...
- TRIGGERS_监测系统_多表视图触发器—向原始数据报表中插入数据
Create Or Replace Trigger trg_view_report Instead Of Insert or update or delete on view_for_report ...
- 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注
原文:[百度地图API]建立全国银行位置查询系统(四)--如何利用百度地图的数据生成自己的标注 摘要: 上一章留个悬念,"如果自己没有地理坐标的数据库,应该怎样制作银行的分布地图呢?&quo ...
- 『TensorFlow』SSD源码学习_其四:数据介绍及TFR文件生成
Fork版本项目地址:SSD 一.数据格式介绍 数据文件夹命名为VOC2012,内部有5个子文件夹,如下, 我们的检测任务中使用JPEGImages文件夹和Annotations文件夹. JPEGIm ...
- 大数据技术之_25_手机APP信息统计系统项目_01_APP 数据生成模块 + 数据收集模块 + 数据处理模块框架搭建 + 业务需求处理 + 数据展示模块 +项目总结 + 问题总结
一 项目概述1.1 角色1.2 业务术语1.3 项目效果展示二 项目需求三 项目概要3.1 项目技术架构3.2 项目目录结构3.3 项目技术选型3.4 项目整体集群规划3.5 创建项目工程四 APP ...
- MIS系统中的报表测试
报表功能的基本要求,就是通过查询/统计/分析,提供用户所需的准确的数据.如果无法实现这个基本功能,则报表完全失去意义. 对于用户来说,报表可以直接影响到他们的决策,例如可能因为报表对销售和库存情况反映 ...
- 10.4 android输入系统_框架、编写一个万能模拟输入驱动程序、reader/dispatcher线程启动过程源码分析
1. 输入系统框架 android输入系统官方文档 // 需FQhttp://source.android.com/devices/input/index.html <深入理解Android 卷 ...
随机推荐
- 使用POI插件,提取导出excel的工具类
在网站的不同的模块都需要使用到导入导出excel的功能,我们就需要写一个通用的工具类ExcelUtil. 我的思路:首先,导入和导出的Excel的文件格式固定:主标题,二级标题,数据行(姑且就这么叫) ...
- Android 操作手机内置存储卡中的文件
场景:需要读取指定文件的内容,此文件是手动存储到手机内置存储卡中的,且手机上不存在SD卡. 对于android通过activity提供的openFileOutput和openFileInput可以直接 ...
- Netbeans7.4下搭建struts2.3.16
一:所需要的jar包如下: 在WEB-INF目录下新建一个lib文件夹将jar包复制到里面: 在这里要注意将jar包导入lib目录里还不可以,在这里与MyEclipse不同.在项目上右键属性-> ...
- B/S 网站技术选型
Windows平台: http://www.asp.net, http://www.asp.net/mvc Web技术 http://msdn.microsoft.com/ef 数据访问中间件 htt ...
- JUnit单元测试框架的使用
http://blog.csdn.net/mao520741111/article/details/51462215 原文地址 http://www.open-open.com/lib/view/op ...
- spring MVC上传文件演示
//相比smartUpload功能上感觉确实有点心有意力不足的感觉,就安全性判断后缀,smartUpload就非常方便. public ModelAndView addFileUp(HttpServl ...
- ListView之BaseAdapter
BaseAdapter可以实现自定义的丰富子项视图,本文实现如下所示结果: 实现代码: /* ListView :列表 BaseAdapter 通用的基础适配器 * * */ public class ...
- hdu 1885 Key Task(bfs+状态压缩)
Problem Description The Czech Technical University years of its existence . Some of the university b ...
- Codeforces Round #389(div 2)
A =w= B QvQ C 题意:在一个格子图里给出一个路径 里面有UDLR四种移动方向 问 我在格子路径里面最少选几个点 可以让我沿着格子路径走 其实是在相邻的点与点之间走最短路 分析:贪心+模拟 ...
- 2D和3D空间中计算两点之间的距离
自己在做游戏的忘记了Unity帮我们提供计算两点之间的距离,在百度搜索了下. 原来有一个公式自己就写了一个方法O(∩_∩)O~,到僵尸到达某一个点之后就向另一个奔跑过去 /// <summary ...