论企业信息化中存储过程的应用
2015-05-30刘上朝
刘上朝
摘 要:数据库的规划与建设是企业信息化建设的一项重要工作,信息化建设的基点在数据库。信息化的优化策略一般包括服务器操作系统参数调整、数据库性能调整、SQL语句分析等几个方面。分析评价数据库性能主要指标有数据库吞吐量、数据库用户响应时间两项指标。其中对海量数据的筛选、统计,存储过程的执行及响应速度效率高.
关键词:性能调优;响应速度;优化策略;
中图分类号:F49 文献标识码:A 文章编号:1674-3520(2015)-09-00-01
一、引言
数据库技术在20世纪兴起,帮助企业解决数据处理的问题。随着信息时代的来临,数据越来越多,现阶段企业信息化建设过程当中,数据库的使用已经成为企业信息化的标志。数据库作为信息产业的重要组成部分对全球经济的发展与推动起到了非常重要的作用。近几年随着我国等新兴国家信息化建设的迅速发展,为数据库及其相关信息服务业带来了更大的机遇,传统制造行业的信息化水平也得到了发展。
二、存储过程
存储过程是存放在服务器上的SQL语句的预编译集合.与传统的SQL语句相比,使用存储过程明显具有以下优点:
1、模块化编程.创建好存储过程后,将其存放在数据库中,可以在程序中多次调用。
2、更快的执行速度. 如果一个程序需要大量T-SQL代码,或需要被反复执行,那么使用存储过程的速度会快很多。因为存储过程是放在服务器端执行的,通过网络把计算机结果传递给调用的客户端,同样的计算在服务器端执行比在客户端执行效率要高很多。
3、减少网络流量
一个需要数百行Transact-SQL语句的操作有时只需要执行一条调用存储过程的语句就可以了.在网络上传送一个调用而不是几百行代码,可以减少网络流量,提高响应速度。
4、增强数据库的安全性
一个用户可能没有执行存储过程中语句的权限,但是可以被赋予执行存储过程的权限,这就增强了数据库的安全性。另外,可以通过存储过程来隐藏用户可用的数据和数据操作中涉及的商业规则,提高了数据安全级别。
三、核心代码
下面通过在传统的制造业中企业工厂日历原始数据的生成来阐述在SQLSERVER中怎样创建存储过程及创建好存储过程后怎样调用.工厂日历是制造企业ERP系统的一个重要组成部分,数据来自数据库,本例中具体的目的是生成一个月的日期和工作状态,最大工时和最小工时.并根据当前日期是否是星期六或星期日来调整工作状态, 如果当前日期是星期六或星期日则工作状态为休息,否则为工作日.根据以上业务需求,操作步骤如下:
(一)在SQLSERVER中建立一张名为Factory_date的表,在这个表中建立四个字段Pdate 、State、maxworktime、minworktime、 pdate字段的数据类型为日期时间型, State字段的数据类型为字符型, 其余两个字段为整型数据,用于存放每天最长工作时间和最短工作时间,企业业务里一般是最大工时为20小时,最小工时8小时,Pdate字段为主键,用于存储当调用存储过程后生成的日期, State字段有两个值:工作日或休息.
(二)在SQLSERVER的查询分析器编写代码如下:
--功能说明:生成一个月的日历和工作状态
--定义变量
declare @v_firstday datetime
declare @v_lastday datetime
declare @v_date datetime
declare @v_sumdays int
declare @v_counter int
set @v_firstday=convert(datetime, @p_month+'-01')
--求出这个月的总天数
set @v_lastday=dateadd(mm,datediff(mm,0,@v_firstday)+1,0)-1
set @v_sumdays=day(@v_lastday)-1
--向表中初始化日历
while @v_counter<=@v_sumdays
begin
数据插入语句
--插入的日期为星期六或星期日时把工作状态调为休息
update factory_Date set state='休息'
where datename(dw,pdate) in ('星期六', '星期日')
set @v_counter=@v_counter+1
end;
四、结束语
本文论述了在SQLSERVER中怎样创建存储过程,从系统的架构设计到存储过程设计和代码的编写,每个环节都息息相关。在设计过程中充分地考虑存储过程的应用,会给软件设计带来极大的便利,从而大大地提高数据库的读取效率。
参考文献:
[1]闪四清 <> 清华大学出版社 2009年
[2]杨明<