PROCEDURE_监测系统_数据备份存储过程—备份原始数据,每十分钟一条,取平均值
create or replace procedure proc_backup_originaldata(retCode out varchar2, -- 返回码
retMsg out varchar2) --返回信息
is
v_now varchar2(20):=to_char(sysdate,'yyyy-mm-dd');
cursor c_backup is
select * from originaldata t where t.time <=v_now;
v_filename varchar2(50):=v_now||'.txt';
v_datastr varchar2(1000):='';
v_file utl_file.file_type;
begin
retCode:='1';
retMsg:='原始数据备份完成';
--备份原始数据,每十分钟一条,取平均值
insert into warehousemonitor--originaltempdata
(id,
temperature1,
temperature2,
temperature3,
temperature4,
temperature5,
temperature6,
temperature7,
temperature8,
temperature9,
temperature10,
humidity1,
humidity2,
humidity3,
humidity4,
humidity5,
humidity6,
humidity7,
humidity8,
humidity9,
humidity10,
concentration1,
concentration2,
concentration3,
time)
select t.id,
round(avg(t.temperature1),2),
round(avg(t.temperature2),2),
round(avg(t.temperature3),2),
round(avg(t.temperature4),2),
round(avg(t.temperature5),2),
round(avg(t.temperature6),2),
round(avg(t.temperature7),2),
round(avg(t.temperature8),2),
round(avg(t.temperature9),2),
round(avg(t.temperature10),2),
round(avg(t.humidity1),2),
round(avg(t.humidity2),2),
round(avg(t.humidity3),2),
round(avg(t.humidity4),2),
round(avg(t.humidity5),2),
round(avg(t.humidity6),2),
round(avg(t.humidity7),2),
round(avg(t.humidity8),2),
round(avg(t.humidity9),2),
round(avg(t.humidity10),2),
round(avg(t.concentration1),2),
round(avg(t.concentration2),2),
round(avg(t.concentration3),2),
max(t.time)
from originaldata t
where t.time <= v_now
group by t.id,
substr(t.time, 1, length(t.time) - 6),
trunc(to_char(to_date(t.time, 'yyyy-mm-dd hh24:mi:ss'), 'mi') / 10);
--生成报表数据
proc_generate_report(v_now);
--写文件
v_file:=utl_file.fopen('BAK',v_filename,'w');--写模式打开文件
for data in c_backup loop
v_datastr:=data.id||'|'||data.ipcode||
'|'||data.temperature1||'|'||data.humidity1||
'|'||data.temperature2||'|'||data.humidity2||
'|'||data.temperature3||'|'||data.humidity3||
'|'||data.temperature4||'|'||data.humidity4||
'|'||data.time||
'|'||data.temperature5||'|'||data.humidity5||
'|'||data.temperature6||'|'||data.humidity6||
'|'||data.temperature7||'|'||data.humidity7||
'|'||data.temperature8||'|'||data.humidity8||
'|'||data.temperature9||'|'||data.humidity9||
'|'||data.temperature10||'|'||data.humidity10||
'|'||data.concentration1||'|'||data.concentration2||'|'||data.concentration3||
'|'||data.backup1||'|'||data.backup2||'|';
utl_file.put_line(v_file,v_datastr);--向文件中写入行
end loop;
utl_file.fclose(v_file);--关闭文件句柄
--删除已备份数据
delete from originaldata t where t.time <=v_now;
commit;
exception when others then
retCode:=sqlcode;
retMsg:=sqlerrm||sysdate;
end proc_backup_originaldata;
PROCEDURE_监测系统_数据备份存储过程—备份原始数据,每十分钟一条,取平均值的更多相关文章
- PROCEDURE_监测系统_告警信息存储过程—产生告警信息插入告警表
create or replace procedure proc_alarmlog(in_id in number, --采集器编码 ...
- PROCEDURE_监测系统_原始数据报表数据生成存储过程—求每天平均值插入多表视图
create or replace procedure proc_generate_report(in_date in varchar2) is v_retCode varchar2(20); v ...
- 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 ...
- 如何隐藏掉SQL Server中自带系统数据库,数据表,存储过程等显示文件,只显示用户的数据库,数据表等文件
企业管理器了,----> 编辑该数据库的注册属性--->“常规”属性页下面-->“显示系统数据库和系统对象”的选项去掉
- ocp11g培训内部教材_053课堂笔记(043)_数据备份
053:数据库高级管理: 目录 第一部分:数据库备份与恢复... 4 第一章:备份恢复概述... 4 1.1 备份的意义: 4 1.2 数据库故障的类型:... 4 1.3 制定你的备份和恢复的计划. ...
- SQL Server 数据备份存储过程
原文:SQL Server 数据备份存储过程 今天开园,分享一下我一直在使用的数据备份存储过程,欢迎转载!!! ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- 数据迁移_把RAC环境备份的数据,恢复到另一台单机Oracle本地文件系统下
数据迁移_把RAC环境备份的数据,恢复到另一台单机Oracle本地文件系统下 作者:Eric 微信:loveoracle11g 1.创建pfile文件 # su - ora11g # cd $ORAC ...
- 通过rsync+inotify实现数据的实时备份
我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar备份方式相比,r ...
随机推荐
- Scala学习笔记--提取器unapply
提取器就是一个带有unapply方法的对象.你可以把unapply方法当做是伴生对象中apply方法的反向操作. apply方法接收构造参数,然后将他们变成对象. 而unapply方法接受一个对象,然 ...
- Spark学习笔记-如何运行wordcount(使用jar包)
IDE:eclipse Spark:spark-1.1.0-bin-hadoop2.4 scala:2.10.4 创建scala工程,编写wordcount程序如下 package com.luoga ...
- EF有外键的查询
modelBuilder.Entity<ActionMenu>().ToTable("ActionMenu"); modelBuilder.Entity<Acti ...
- web后台获取不到session中的值(loading sessions from persistent storage),后改用JS传值
线上的程序似乎从session中取不到domain数据,重启了一下tomcat查看log日志发现,居然有报错.错误信息如下 22-Sep-2016 00:52:16.562 SEVERE [local ...
- [LA] 2031 Dance Dance Revolution
Dance Dance Revolution Time limit: 3.000 seconds Mr. White, a fat man, now is crazy about a game nam ...
- MyEclipse8.5自动生成注册码
package com; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRe ...
- C++ crash 堆栈信息获取(三篇文章)
最近在做程序异常时堆栈信息获取相关工作,上一篇文章成功的在程序creash时写下了dump文件,而有些情况写dump文件是 不可以的,比如在jni开发时,C++只做底层处理,而整个项目是android ...
- 处理emacs-org模式TODO的一个脚本
处理前: 处理后: Table of Contents 1 前言 2 中文的处理 2.1 vim相关 2.2 perl 相关 3 时间相关 4 程序解析 1 前言 最近风帆问我一个问题,也就是处理or ...
- jquery datepicker日期控件用法
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.c ...
- 开发人员应该知道的SEO
搜索引擎是如何工作的 > 如果你有时间,可以读一下谷歌的框架: http://infolab.stanford.edu/~backrub/google.html > 这是一个老的,有些过时 ...