`
jveqi
  • 浏览: 323938 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MSSQL存储过程及游标、作业

    博客分类:
  • sql
阅读更多

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实验报告5(存储过程与函数)(1)(1).pdf

    综上所述,实验报告详细介绍了MySQL中存储过程的创建与调用,使用游标、异常处理及参数传递等高级特性。通过这些内容,读者能够更好地理解MySQL数据库中存储过程和函数的高级用法,提高数据库编程能力。

    南开大学《MYSQL数据库》在线作业3.pdf

    此外,存储过程中能使用游标,而存储函数中不能使用游标。 在MYSQL数据库中,可以使用CALL语句调用存储过程和存储函数。调用存储过程的方法是CALL sp(),而调用存储函数的方法是SELECT fn()。 phpAdmin是MYSQL...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 7_MySQL存储引擎.mp4 │ 8_MySQL第三范式设计讲解.mp4 │ 9_MySQL数据库设计工具.mp4 │ ├─新版MySQL DBA综合实战班 第06天 │ 1_课堂作业讲解.mp4 │ 2_InnoDB内核之事务和多版本控制.mp4 │ 3_InnoDB底层...

    南开大学《MYSQL数据库》在线作业3 (2).pdf

    本资源摘要信息涵盖了MYSQL 数据库在线作业的多个方面,包括删除数据表记录、设置 MySQL 提示符、消除查询结果集中的重复值、存储过程和存储函数、MYSQL 命令行调用、phpAdmin 工具、模式/内模式映像、字符集设置、...

    南开大学《MYSQL数据库》在线作业3.docx

    在MYSQL的命令行中,调用存储过程sp和函数fn的方法分别是CALL sp()和SELECT fn(),因此正确的选项为A:CALL sp(), SELECT fn()。 PhpAdmin作为MYSQL的一种图形化管理工具,其工作模式为B/S模式,因此正确的选项为B...

    《老旧电商系统升级改造日记 - 2》一文中用到的数据库脚本

    在这个过程中,数据库是核心改造部分,涉及到的主要知识点包括MySQL数据库管理、硬编码问题的解决、存储过程的优化以及游标的使用和字典表的构建。 首先,MySQL作为广泛使用的开源关系型数据库管理系统,具有高效、...

    MySQL大作业 课程作业-----考勤人事管理系统

    文件内容包括数据库数据、表设计、约束、默认、索引设计、多种查询、视图设计、触发器设计、 存储过程设计、函数设计、游标和用户、角色、权限等等。 (1)登录功能 系统有两类用户:普通员工、管理员,根据登录用户...

    基于python - tkinter - mysql的学生信息管理系统+ 大作业报告.zip

    在部署过程中,用户需要确保已经安装了Python、Tkinter库、mysql-connector-python库,并设置好MySQL数据库环境。此外,可能还需要对源代码中的数据库连接参数(如主机名、用户名、密码和数据库名)进行适当调整,以...

    数据库原理与应用期末大作业参考python_mysql-main.zip

    数据库原理与应用是计算机科学中的一个关键领域,它涉及到数据的组织、存储、检索和管理。在这个期末大作业中,我们将重点关注Python编程语言与MySQL数据库的结合应用。Python是一种广泛用于数据处理和数据库操作的...

    mysql-lesson-04-homework:MySQL第4课作业

    在MySQL中,我们可以使用TSQL创建、修改和删除数据库对象,如表、视图、存储过程等;插入、更新、删除数据;以及管理用户权限和处理事务。 1. 数据定义语言(DDL): - `CREATE DATABASE`:创建新的数据库。 - `...

    基于Python的将Excel数据导入到Mysql数据库.zip

    在本项目中,我们主要探讨如何使用Python编程语言将Excel数据高效地导入到MySQL数据库中。这是一项在数据处理和分析领域中常见的任务,尤其适用于毕业设计或计算机科学相关的课程作业。下面,我们将详细介绍实现这一...

    1008《MySQL数据库应用与设计》课程考核评价方案.docx

    此外,学生还需了解更高级的概念,比如变量、运算符、表达式、游标、存储过程、自定义函数、触发器、事务控制等。在实际应用中,这些高级功能能够帮助解决复杂的问题。为了适应现代互联网技术的发展,课程还涉及到了...

    《数据库原理及应用》教案18:掌握SQL编程基础.pdf

    课后作业则要求学生复习这节课的内容,并预习存储过程,这是SQL中用于执行一组数据库操作的预编译语句集合,进一步提升数据库操作的效率。 总的来说,这18课时的教案旨在使学生掌握SQL的基础知识,包括基本语法、...

    week5_assignment_mysql

    5. **触发器与存储过程**:学习如何编写和使用触发器以在特定事件上自动执行操作,以及存储过程的创建和调用,它们可以提高代码的复用性和安全性。 6. **权限与安全**:理解用户管理和权限控制,如何创建和管理用户...

    16219111407_姚周晖_爬虫期中作业1

    - pymysql:Python连接MySQL数据库的库,用于存储爬取的数据。 - requests:用于发送HTTP请求,获取网页内容。 - re:Python的正则表达式模块,用于处理和匹配字符串中的模式。 - os:操作系统相关的功能模块,可能...

    2021-2022计算机二级等级考试试题及答案No.19182.docx

    15. MySQL中的游标主要用于存储过程和存储函数,不支持在交互式SQL查询中声明和使用。 16. KeyPress是键盘事件,不是鼠标事件。MouseDown、DblClick和MouseMove分别是鼠标按下、双击和移动事件。 17. 宏操作的范围...

    SQLSERVER 入门到熟悉

    它们在结构和语法上具有一些共同点,但在触发器、视图、存储过程、索引、游标和作业等方面存在不同。 2. 数据库安装要求:SQL Server要求系统必须有Windows操作环境和.NET Framework 4.5或更高版本的支持。 3. ...

    数据库技术应用.ppt

    2. **视图、索引、存储过程、触发器、游标**:了解这些高级数据库功能,提升数据查询和处理的效率。 3. **查询**:学习SQL语言,包括基本查询、联接查询、子查询和聚合函数等,以满足各种查询需求。 4. **数据库安全...

    Assignment3_4

    "Assignment3_4"可能是一个教学或项目作业,其重点在于单一数据库的配置。在这个任务中,学生或开发者需要了解如何在Python环境中设置和管理一个数据库,可能是用于存储、查询或分析数据。 首先,我们要理解什么是...

Global site tag (gtag.js) - Google Analytics