1、存储过程
--==== 月存储过程 =====
alter proc [P_StatWaterCountMonthData]
@PointCode varchar(50), --点位编号
@ItemCode varchar(50), --项目编号
@TimeCondition varchar(1000),--读取时间的条件语句
@SaveTime varchar(50),--检测的时间节点
@EndTime varchar(50),--存储的时间节点
@SelTable varchar(50),
@InsTable varchar(50)
as
begin
declare @rowCount int
declare @CountSql nvarchar(500)
declare @Sql nvarchar(2000)
declare @StrengthSql nvarchar(2000)
--删除原有数据
set @CountSql='DELETE FROM '+@InsTable+' where 1=1 and '+@TimeCondition+' and WaterSamplingID='''+@PointCode+''' and WaterItemCode='''+@ItemCode+'''';
print(@CountSql)
exec(@CountSql)
--插入新数据
set @StrengthSql=' select
WaterSamplingID,WaterItemCode,1,null,null,
null,null,Max(MaxValue),Min(MinValue),AVG(AvgValue),
count(WaterSamplingID) count,null,null,null,null,
'''+@SaveTime+''',0,count(WaterSamplingID) count,null,null,
1,WaterSamplingID,
------------统计 LevelCode---------------
(select
case
when AVG(AvgValue)<= One_WaterLevel then 1
when AVG(AvgValue)<= Two_WaterLevel then 2
when AVG(AvgValue)<= Three_WaterLevel then 3
when AVG(AvgValue)<= Four_WaterLevel then 4
when AVG(AvgValue)<= Five_WaterLevel then 5
else ''''
end
from T_Cod_riverOriginStandard where itemCode = WaterItemCode and StandardYear = (''GB3838-2002''))
-----------------------------------------
,AVG(AvgValue),AVG(AvgValue),'''+@EndTime+'''
from T_Mid_RiversDayData where WaterSamplingID='''+@PointCode+''' and WaterItemCode = '''+@ItemCode+''' and '+@TimeCondition+'
group by WaterSamplingID,WaterItemCode'
set @Sql='insert into '+@InsTable+@StrengthSql;
print(@Sql)
exec(@Sql)
end
2、游标(判断循环调用存储过程)
alter proc [P_StatGasCountMonthData]
@PointCode varchar(50), --点位编号
@ItemCode varchar(50), --点位编号
@TimeCondition varchar(1000),--读取时间的条件语句
@CheckTime varchar(50),--检测的时间节点
@SelTable varchar(50),
@InsTable varchar(50)
as
begin
declare @rowCount int
declare @CountSql nvarchar(500)
declare @Sql nvarchar(2000)
declare @StrengthSql nvarchar(2000)
--删除原有数据
set @CountSql='DELETE FROM '+@InsTable+' where 1=1 and '+@TimeCondition+' and GasPointCode='''+@PointCode+''' and GasItemCode='''+@ItemCode+'''';
print(@CountSql)
exec(@CountSql)
--插入新数据
set @StrengthSql=' select GasPointCode,GasItemCode,1,'''+@CheckTime+''',Max(MaxValue),
avg(AvgValue),MIN(MinValue),AVG(UpdateValue),GETDATE(),null,null,null,null,0,null,null'+
' from '+@SelTable+' where GasPointCode='''+@PointCode+''' and GasItemCode='''+@ItemCode+''' and '+@TimeCondition+' group by '+
' GasPointCode,GasItemCode '
set @Sql='insert into '+@InsTable+@StrengthSql;
print(@Sql)
exec(@Sql)
end
3、作业定时任务。
相关推荐
Mysql存储过程游标触发器
Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标Oracle_的存储过程及游标
MySQL 存储过程与游标的混合使用,也没啥重要的,就是和其他数据库有一些不同而已,作为总结,以后复习
Mysql存储过程、游标、函数调用、事务处理、触发器代码示例,可用作学习参考。
Oracle存储过程、游标、函数的详解
存储过程触发器 游标是数据库中的一个重要触发器,该篇讲述触发器详细,偏于广大学者学习参考。
最近遇到这样的问题,在MySQL的存储过程中,游标操作时,需要执行一个conitnue的操作.众所周知,MySQL中的游标循环操作常用的有三种,LOOP,REPEAT,WHILE.三种循环,方式大同小异.以前从没用过,所以记下来,方便以后查阅. 1....
Mysql游标(循环操作)
NULL 博文链接:https://kaka100.iteye.com/blog/964869
oracle 的函数、存储过程、游标、简单实例 oracle常用语句oracle 的函数、存储过程、游标、简单实例 oracle常用语句
主要介绍了mysql存储过程之游标(DECLARE)原理与用法,结合实例形式详细分析了mysql存储过程游标(DECLARE)的基本功能、原理、使用方法及操作注意事项,需要的朋友可以参考下
自己做的存储过程含游标例子,对于初学存储过程和游标的人有帮助
本节主要介绍了Mysql存储过程循环内如何嵌套使用游标,详细实现如下,需要的朋友不要错过
(1)编写一个存储过程“某学生某课程考试成绩信息”输入学号和姓名,查询学生的姓名,课程名和考试成绩。 (2)创建存储过程“填班级人数”,根据学生表,修改班级表中的班级人数。
带游标的mysql存储过程例子。
本文实例讲述了Mysql存储过程中游标的用法。分享给大家供大家参考。具体如下: 1. 批量插入商户路由关联数据: DELIMITER $$ USE `mmm_mac`$$ DROP PROCEDURE IF EXISTS `批量插入商户路由关联数据`$$ CREATE ...
存储过程和游标详解.希望能帮助大你们,很好!
SqlServer存储过程、游标讲解SqlServer存储过程、游标讲解
如题,初步研究了pl/sql的写法,现给出存储过程,游标等的使用,后续会给出其他的用法