欢迎来到天天文库
浏览记录
ID:39474689
大小:1.10 MB
页数:39页
时间:2019-07-04
《《存储过程与触发器》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章存储过程与触发器将一些T-SQL语句打包成一个数据库对象(存储过程或触发器)并存储在SQLServer服务器上,等到需要时,就调用或触发这些T-SQL语句包。本章教与学的建议:教师使用4课时边讲解示例,边安排练习,学生在教师的指导下使用4课时在课内练习和检查。本章目标是通过学习,能够实施存储过程和触发器应用管理。第8章存储过程与触发器8/4/20212本章学习任务存储过程概述存储过程定义与特点、类型创建和执行存储过程创建和执行带参数或不带参数的存储过程、创建和使用扩展存储过程修改和删除存储过程查看、修改、删除存储过程创建和管理触发器触发器概
2、述、创建触发器、管理触发器第8章存储过程与触发器8/4/20213存储过程的概述当开发一个应用程序时,为了易于修改和扩充方便,我们经常会将负责不同功能的语句集中起来而且按照用途分别独立放置,以便能够反复调用,而这些独立放置且拥有不同功能的语句,即是“过程”(Procedure)。SQLServer的存储过程是一组完成特定功能的T-SQL语句集,经编译后以特定的名称存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。8/4/20214存储过程特点与类型存储过程特点允许模块化的程序设计更快的执行速度有效降低网
3、络流量较好的安全机制存储过程类型系统存储过程本地存储过程临时存储过程远程存储过裎扩展存储过程8/4/20215不带参数的存储过程使用对象资源管理器创建存储过程使用SQL命令创建存储过程CREATEPROC[EDURE]procedure_nameASsql_statementsprocedure_name为所创建的存储过程的名字;sql_statements为在存储过程中需要执行的数据库操作。8/4/20216不带参数的存储过程8/4/20217不带参数的存储过程8/4/20218带参数的存储过程存储过程通过参数来与调用它的程序通信。在程序调用存
4、储过程时,可以通过输入参数将数据传给存储过程,存储过程可以通过输出参数和返回值将数据返回给调用它的程序。创建带参数的存储过程的语法格式CREATEPROC[EDURE]procedure_name[{@parameterdata_type}[=DEFAULT][OUTPUT]][,…n][WITH{RECOMPILE
5、ENCRYPTION
6、RECOMPILE,ENCRYPTI○N}]ASsql_statements8/4/20219带参数的存储过程使用参数名传送参数值[[EXEC[UTE]]procedure_name[@parameter_na
7、me=value][,…n]procedure_name为存储过程名;@parameter_name为输入参数名;value为传递给输入参数的值。如果存储过程中有输入参数,在执行存储过程时没有给出参数,则系统会显示错误提示。8/4/202110带参数的存储过程8/4/202111带参数的存储过程8/4/202112带参数的存储过程按位置传送参数值[EXEC[UTE]]proc_name[value1,value2,…]proc_name为存储过程名;value1,value2,…为传递给各输入参数的值。具有默认值的存储过程例如,针对一个表,创建一
8、个存储过程,执行存储过程时将向数据表插入一条记录,新记录的值由参数提供,如果未提供某个字段的值时,由参数的默认值代替。8/4/202113带参数的存储过程8/4/202114带参数的存储过程8/4/202115带参数的存储过程创建具有返回值的存储过程@parameter_namedatatype[=default]OUTPUT[,…n]@parameter_name存储过程的输出参数名,必须以符号@为前缀。存储过程通过该参数返回结果。datatype指明输出参数的数据类型,它既可以是系统提供的数据类型,也可以是用户自定义的数据类型,但必须是除te
9、xt和image以外的数据类型。default指定输出参数的默认值。OUTPUT指明参数为输出参数。8/4/202116带参数的存储过程8/4/202117带参数的存储过程执行具有返回值的存储过程[EXECUTE]{[@return_status=]{procedure_name
10、@procudure_name_var}}[[@parameter_name=]{value
11、@variable[OUTPUT]}][,…n][WITHRECOMPILE]procedure_name:需执行的存储过程的名字;[@parameter_name=]{val
12、ue
13、@variable}为输入参数传递值;[@parameter_name=]@variableOUTPUT为传递给输出参数的变量,@
此文档下载收益归作者所有