欢迎来到天天文库
浏览记录
ID:42652246
大小:17.92 KB
页数:4页
时间:2019-09-19
《存储过程讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、存储过程讲解 一、简介: 存储过程(StoredProcedure),是一组为了完成特定功能的SQL语句,集经编译后 存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行它, 在SQLServer的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程。 系统SP,主要存储master数据库中,并以sp_为前缀并且系统存储过程主要是从系统表中获取 信息,从而为系统管理员管理SQLServer。用户自定义存储过程是由用户创建,并能完成 某一特
2、定功能,如:查询用户所需数据信息的存储过程。 存储过程具有以下优点 1.存储过程允许标准组件式编程(模块化设计) 存储过程在被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句,而且数 据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响。因为应用程序源代码只包含存 储过程的调用语句,从而极大地提高了程序的可移植性。 2.存储过程能够实现快速的执行速度 如果某一操作包含大量的Transaction-SQL代码,,或分别被多次执
3、行,那么存储过程要比批处理的 执行速度快很多,因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析优 化,并给出最终被存在系统表中的执行计划,而批处理的Transaction-SQL语句在每次运行时都要进行 编译和优化,因此速度相对要慢一些。 3.存储过程能够减少网络流量 对于同一个针对数据数据库对象的操作,如查询修改,如果这一操作所涉及到的Transaction-SQL 语句被组织成一存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的
4、只是该调用语句,否 则将是多条SQL语句从而大大增加了网络流量降低网络负载。 4.存储过程可被作为一种安全机制来充分利用 系统管理员通过,对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限的限 制。 二、变量 @I 三、流程控制语句(ifelse
5、selectcase
6、while) Select...CASE实例 DECLARE@iRetINT,@PKDispVARCHAR(20) SET@iRet='1' Select@iRe
7、t= CASE WHEN@PKDisp='一'THEN1 WHEN@PKDisp='二'THEN2 WHEN@PKDisp='三'THEN3 WHEN@PKDisp='四'THEN4 WHEN@PKDisp='五'THEN5 ELSE100 END 四、存储过程格式 创建存储过程 CreateProcdbo.存储过程名 存储过程参数 AS 执行语句 RETURN 执行存储过
8、程 GO*********************************************************/--变量的声明,sql里面声明变量时必须在变量前加@符号 DECLARE@IINT--变量的赋值,变量赋值时变量前必须加set SET@I=30--声明多个变量 DECLARE@svarchar(10),@aINT--Sql里if语句 IF条件BEGIN 执行语句 END ELSEBEGIN 执行语句 END
9、 DECLARE@dINT set@d=1 IF@d=1BEGIN --打印 PRINT'正确' END ELSEBEGIN PRINT'错误' END--Sql里的多条件选择语句. DECLARE@iRetINT,@PKDispVARCHAR(20) SET@iRet=1 Select@iRet= CASE WHEN@PKDisp='一'THEN1 WHEN@PKDisp='二'THEN2 WH
10、EN@PKDisp='三'THEN3 WHEN@PKDisp='四'THEN4 WHEN@PKDisp='五'THEN5 ELSE100 END--循环语句 WHILE条件BEGIN 执行
此文档下载收益归作者所有