欢迎来到天天文库
浏览记录
ID:58535709
大小:17.50 KB
页数:2页
时间:2020-09-03
《数据库后台编程技术.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章数据库后台编程技术8.1存储过程8.1.1基本概念所谓存储过程,实际上是存储在数据库中供所有用户程序调用的子程序。存储过程的好处:1)允许模块化程序设计。2)改善性能3)减少网络流量4)增强应用程序的安全性8.1.2创建、执行和删除存储过程1创建存储过程:SQL语句CREATEPROCEDURE2执行存储过程:可以使用T_SQL的EXECUTE语句。执行有多个输入参数的存储过程时,参数的传递方式有两种:1)按参数位置传递值2)按参数名传递值3.删除存储过程:删除存储过程用DROPPROCEDURE语
2、句8.2用户定义函数8.2.1创建和调用标量函数1.定义标量函数:CREATEFUNCTION[schema_name.]function_name2.调用标量函数:计算长、宽、高分别为4、6、8的立方体的体积:SELECTdbo.CubicVolume(4,6,8)8.2.2创建和调用内联表值函数1创建内联表值函数:CREATEFUNCTION[schema_name.]function_name2调用内联表值函数:查询“服装”类的商品信息:SELECT*FROMdbo.f_GoodsInfo(‘服装’
3、)8.2.3创建和调用多语句表值函数1.创建多语句表值函数:CREATEFUNCTION[schema_name.]function_name2.调用多语句表值函数:查询“家用电器”类商品信息:SELECT*FROMdbo.f_GoodsType(‘家用电器’)8.2.4删除用户自定义函数:DROPFUNCTION{[schema_name.]function_nae}[,…n]8.3触发器8.3.1基本概念:触发器是一种特殊的存储过程,其特殊性在于它不需要由用户来直接调用,而是在对表中的数据进行UPDA
4、TE、INSERT、DELETE操作时自动触发执行的。触发器通常用于保证业务规则和数据完整性,其主要优点是用户可以用编程的方法来实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能。适用场合:1)完成比CHECK约束更复杂的数据约束。2)为保证数据库性能而维护的非规范化数据。3)可实现复杂的商业规则。4)评估数据修改前后的表状态,并根据其差异采取对策。SQLServer2008支持三类触发器:DML、DDL和登录触发器。8.3.2创建触发器:1创建后触发型触发器:CREATETRIGGER使用FOR或
5、AFTER选项定义触发器为后触发器,即只有在引发触发器执行的语句中的操作都已成功执行,并且所有的约束检查也成功完成后,才执行触发器。2创建前触发型触发器:使用INSTEADOF选项定义的触发器为前触发型触发器。8.3.3删除触发器:DROPTRIGGERschema_name.trigger_name[…n][;]8.4游标:实现对结果集中的每一行或部分进行单独处理的机制,它使人们可以逐行处理结果集。8.4.1游标的组成1游标结果集:指定义游标的SELECT语句返回的结果的集合。2.游标当前行指针:指向该
6、结果集中的某一行的指针。8.4.2使用游标1.声明游标,实际是定义服务器游标的特性。支持两种形式:一是基于ISO标准的语法,另一种是使用T_SQL扩展的语法。格式:DECLAREcursor_name[INSENSITIVE]……2打开游标:OPENcursor_name3提取数据:FETCH[[NEXT
7、PRIOR
8、FIRST
9、LAST
10、ABSOLUTEn
11、RELATIVEn]FROM]4关闭游标:CLOSEcursor_name5释放游标:DEALLOCATEcursor_name8.4.3游标示例小
12、结本章介绍了SQLServer2008中与程序设计内容有关的四种数据库对象——存储过程、用户定义函数、触发器和游标。存储过程是被保存在数据库中的一段程序代码块,经编译后被保存在数据库中,第一次被执行或调用时装载到内存,供其他程序调用,可极大地提高后续程序执行存储过程的效率。存储过程可以有输入参数和输出参数,因此可以很好地满足对数据的不同操作要求,提供较高的代码共享功能。函数与存储过程的概念类似,可带参数,但与存储过程不同的是函数必须返回计算结果,并且函数说明中除了要指定函数名、参数类型以外,还要说明结果值
13、的类型。SQLServer2008支持三种类型的用户定义函数。标量函数类似于普通编程语言中的函数,它返回的是单个的数据值,内联表值函数的使用与视图类似,其功能如同带参数的视图;多语句表值函数的函数体类似于存储过程,其使用方法类似于视图,可以返回根据用户输入参数不同而内容不同的表。触发器是由INSERT、UPDATE、DELETE语句事件引发自动执行的一段程序代码,每当这几类事件在指定的表上出现时,定义在触发器中的代码会自动执行
此文档下载收益归作者所有