数据库存储过程.ppt
《数据库存储过程.ppt》由会员分享,可在线阅读,更多相关《数据库存储过程.ppt(69页珍藏版)》请在优知文库上搜索。
1、 存储过程存储过程18:57存储过程概述存储过程概述l以一个名字存储在数据库中,经过预编译的以一个名字存储在数据库中,经过预编译的T-SQL语句集合语句集合l可以独立执行或通过应用程序调用可以独立执行或通过应用程序调用l一旦创建,在服务器即被编译,可在需要时使一旦创建,在服务器即被编译,可在需要时使用多次用多次l支持过程嵌套调用支持过程嵌套调用18:57存储过程概述存储过程概述系统存储过程,存储在系统存储过程,存储在master数据库中,可数据库中,可以作为命令执行各种操作,以以作为命令执行各种操作,以sp_开头。开头。用户自定义的存储过程:用户创建,具有一用户自定义的存储过程:用户创建,具有
2、一定功能。定功能。存储过程的类型:存储过程的类型:注:不要以注:不要以sp_开头创建自定义的存储过程开头创建自定义的存储过程。18:57存储过程的特点:存储过程的特点:代码重用性:代码重用性: 创建一个存储过程存放在数据库中后,就可以被其它程序反复使用,提高了应用程序的可移植性。高速性:高速性: 第一次被执行后,就驻留在内存中。以后执行就省去了重新分析、优化、编译的过程。存储过程概述存储过程概述18:57存储过程概述存储过程概述减少网络通信量减少网络通信量安全性安全性 有了存储过程后,在网络上只要一条语句就能执行一个存储过程。 通过隔离和加密的方法提高了数据库的安全性,通过授权可以让用户只能执
3、行存储过程而不能直接访问数据库对象。18:57创建存储过程创建存储过程1.利用企业管理器利用企业管理器存储过程节点,或单击存储过程节点,或单击“操作菜单操作菜单”选择选择“新新建存储过程建存储过程”命令,系命令,系统弹出统弹出“存储过程属性存储过程属性”对话框。对话框。(1 1)在控制台根目录中展开要建立存储过程的数据库,选择存储过)在控制台根目录中展开要建立存储过程的数据库,选择存储过程节点,则右边窗口会列出数据库中目前所有的存储过程,右键单击程节点,则右边窗口会列出数据库中目前所有的存储过程,右键单击18:57创建存储过程创建存储过程(2 2)在)在“文本文本”文本框中输入正确的文本框中输
4、入正确的SQLSQL语句。语句。(3 3)可以单击)可以单击“语法检查语法检查”按钮,由系统检查语法错按钮,由系统检查语法错误。误。(4 4)单击)单击“确定确定”按钮完成存储过程的创建。按钮完成存储过程的创建。 一般存储过程可以使用一般存储过程可以使用SQLSQL语句创建,修改则使用企语句创建,修改则使用企业管理器比较方便。业管理器比较方便。18:57创建存储过程创建存储过程创建语法:创建语法:CREATE PROCEDURE procedure_name;numberparameter data_type =default ,nAS sql_statement,n2.使用查询分析器使用查询
5、分析器18:57创建存储过程创建存储过程 Procedure_name:指定存储过程的名称;指定存储过程的名称; Number:对同名的存储过程指定一个序号;对同名的存储过程指定一个序号; parameter date_type =default :指定存储过程的:指定存储过程的参数。参数。 Parameter为参数名称,为参数名称, date_type参数的数据参数的数据类型,类型, =default 用于指定参数的默认值。用于指定参数的默认值。默认值必须默认值必须是常数或空值。是常数或空值。 AS sql_statement:过程中要包含的:过程中要包含的T-SQL语句语句。注:存储过程中
6、不可以使用创建数据库对象的语句;注:存储过程中不可以使用创建数据库对象的语句; 创建存储过程的权限默认是创建存储过程的权限默认是DBO。18:57创建存储过程创建存储过程 SELECT S.SNO,SUM(SCORE) FROM S,S_C WHERE S.SNO=S_C.SNO GROUP BY S.SNO例:统计学生所选课程所得的总成绩例:统计学生所选课程所得的总成绩,要求显示要求显示学号和总成绩。学号和总成绩。CREATE PROCEDURE SCORESUM AS18:57创建存储过程创建存储过程执行语法:执行语法:EXECUTEreturn_status=procedure_name
7、 parameter=vale|variableEXECUTE SCORESUMEXEC SCORESUMSCORESUM该执行方法只能是批处理中的第一句!该执行方法只能是批处理中的第一句!18:57创建存储过程创建存储过程变量变量从变量的作用范围来分,从变量的作用范围来分,SQL ServerSQL Server提供两种形式的变量:提供两种形式的变量:局部变量和全局变量。局部变量和全局变量。局部变量局部变量 局部变量一般在批处理中被声明、定义、赋值和引用,批局部变量一般在批处理中被声明、定义、赋值和引用,批处理结束后,局部变量就消失了。处理结束后,局部变量就消失了。 利用局部变量还可以保存程
8、序执行过程中的中间数据值,利用局部变量还可以保存程序执行过程中的中间数据值,保存由存储过程返回的数据值等。保存由存储过程返回的数据值等。18:57创建存储过程创建存储过程1 1局部变量的定义局部变量的定义 必须先用必须先用DECLARE命令定义后才可以使用。命令定义后才可以使用。 DECLAER 变量名变量名 数据类型数据类型 ,n 2局部变量的赋值方法局部变量的赋值方法 SET 变量名变量名 = 表达式表达式 或者或者 SELECT 变量名变量名 = 表达式表达式 ,.n 3局部变量的显示局部变量的显示 SELECT 变量名变量名 18:57创建存储过程创建存储过程例例1 1:定义:定义ag
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 存储 过程