第8章存储过程与触发器.ppt
《第8章存储过程与触发器.ppt》由会员分享,可在线阅读,更多相关《第8章存储过程与触发器.ppt(39页珍藏版)》请在优知文库上搜索。
1、将一些将一些T-SQL语句打包成一个数据库对象语句打包成一个数据库对象(存储存储过程或触发器过程或触发器)并存储在并存储在SQL Server服务器上,服务器上,等到需要时,就调用或触发这些等到需要时,就调用或触发这些T-SQL语句包。语句包。本章教与学的建议:本章教与学的建议:教师使用教师使用4课时边讲解示例,边安排练习,学课时边讲解示例,边安排练习,学生在教师的指导下使用生在教师的指导下使用4课时在课内练习和检查课时在课内练习和检查。本章目标是通过学习,能够实施存储过程和触发本章目标是通过学习,能够实施存储过程和触发器应用管理。器应用管理。本章学习任务本章学习任务q 存储过程概述存储过程概
2、述 存储过程定义与特点、类型存储过程定义与特点、类型q 创建和执行存储过程创建和执行存储过程 创建和执行带参数或不带参数的存储过程、创建和执行带参数或不带参数的存储过程、创建和使用扩展存储过程创建和使用扩展存储过程q 修改和删除存储过程修改和删除存储过程 查看、修改、删除存储过程查看、修改、删除存储过程q 创建和管理触发器创建和管理触发器 触发器概述、创建触发器、管理触发器触发器概述、创建触发器、管理触发器q当开发一个应用程序时,为了易于修改和扩充当开发一个应用程序时,为了易于修改和扩充方便,我们经常会将负责不同功能的语句集中起方便,我们经常会将负责不同功能的语句集中起来而且按照用途分别独立放
3、置,以便能够反复调来而且按照用途分别独立放置,以便能够反复调用,而这些独立放置且拥有不同功能的语句,即用,而这些独立放置且拥有不同功能的语句,即是是“过程过程”(Procedure)。qSQL Server的存储过程是一组完成特定功能的的存储过程是一组完成特定功能的T-SQL语句集,经编译后以特定的名称存储在数语句集,经编译后以特定的名称存储在数据库中,用户通过指定存储过程的名字并给出参据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。数(如果该存储过程带有参数)来执行存储过程。存储过程特点存储过程特点q允许模块化的程序设计允许模块化的程序设计q更快的执行速
4、度更快的执行速度q有效降低网络流量有效降低网络流量q较好的安全机制较好的安全机制存储过程类型存储过程类型q系统存储过程系统存储过程q本地存储过程本地存储过程q临时存储过程临时存储过程q远程存储过裎远程存储过裎q扩展存储过程扩展存储过程q使用对象资源管理器创建存储过程使用对象资源管理器创建存储过程q使用使用SQL命令创建存储过程命令创建存储过程CREATE PROCEDURE procedure_nameAS sql_statementsprocedure_name为所创建的存储过程的名字;为所创建的存储过程的名字;sql_statements为在存储过程中需要执行的数据库操作。为在存储过程中需
5、要执行的数据库操作。q 存储过程通过参数来与调用它的程序通信。在存储过程通过参数来与调用它的程序通信。在程序调用存储过程时,可以通过输入参数将数据程序调用存储过程时,可以通过输入参数将数据传给存储过程,存储过程可以通过输出参数和返传给存储过程,存储过程可以通过输出参数和返回值将数据返回给调用它的程序。回值将数据返回给调用它的程序。q 创建带参数的存储过程的语法格式创建带参数的存储过程的语法格式CREATE PROCEDURE procedure_nameparameter data_type=DEFAULTOUTPUT,nWITHRECOMPILE|ENCRYPTION|RECOMPILE,E
6、NCRYPTINAS sql_ statements q 使用参数名传送参数值使用参数名传送参数值 EXECUTE procedure_name parameter_name=value,nprocedure_name为存储过程名;为存储过程名;parameter_name为输入参数名;为输入参数名;value为传递给输入参数的值。为传递给输入参数的值。q 如果存储过程中有输入参数,在执行存储过程如果存储过程中有输入参数,在执行存储过程时没有给出参数,则系统会显示错误提示。时没有给出参数,则系统会显示错误提示。q 按位置传送参数值按位置传送参数值 EXECUTE proc_name value
7、1,value2,proc_name为存储过程名;为存储过程名;value1,value2,为传为传递给各输入参数的值。递给各输入参数的值。q 具有默认值的存储过程具有默认值的存储过程例如,针对一个表,创建一个存储过程,执行存例如,针对一个表,创建一个存储过程,执行存储过程时将向数据表插入一条记录,新记录的值储过程时将向数据表插入一条记录,新记录的值由参数提供,如果未提供某个字段的值时,由参由参数提供,如果未提供某个字段的值时,由参数的默认值代替。数的默认值代替。q 创建具有返回值的存储过程创建具有返回值的存储过程parameter_name datatype=default OUTPUT ,
8、nparameter_name存储过程的输出参数名,必存储过程的输出参数名,必须以符号为前缀。存储过程通过该参数返回结须以符号为前缀。存储过程通过该参数返回结果。果。datatype指明输出参数的数据类型,它既可以是指明输出参数的数据类型,它既可以是系统提供的数据类型,也可以是用户自定义的数系统提供的数据类型,也可以是用户自定义的数据类型,但必须是除据类型,但必须是除text和和image以外的数据类型。以外的数据类型。default指定输出参数的默认值。指定输出参数的默认值。OUTPUT指明参数为输出参数。指明参数为输出参数。q 执行具有返回值的存储过程执行具有返回值的存储过程EXECUTE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储 过程 触发器