存储过程与自定义函数.ppt
《存储过程与自定义函数.ppt》由会员分享,可在线阅读,更多相关《存储过程与自定义函数.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、存存储过程与自定程与自定义函函数数现在学习的是第1页,共38页12.1 存存储过程程存储过程是存储过程是T-SQL语句和流程控制语句的集合,在大型语句和流程控制语句的集合,在大型数据库系统的开发和应用中,具有很重要的作用。数据库系统的开发和应用中,具有很重要的作用。现在学习的是第2页,共38页12.1.1 存存储过程的概念程的概念运行在客户端的应用程序对服务器端的数据库进行访问运行在客户端的应用程序对服务器端的数据库进行访问的一般流程如下:的一般流程如下:(1)T-SQL语句发送到服务器。语句发送到服务器。(2)数据库服务器编译)数据库服务器编译T-SQL语句。语句。(3)产生查询执行计划。)
2、产生查询执行计划。(4)执行查询计划。)执行查询计划。(5)将执行结果返回客户端。)将执行结果返回客户端。在这个过程中,每一条在这个过程中,每一条SQL语句是单独的、一句一句的语句是单独的、一句一句的从客户端向服务器发送请求,然后数据库服务器再将结果一从客户端向服务器发送请求,然后数据库服务器再将结果一个一个地返回给应用程序。有一些应用程序,涉及的服务器个一个地返回给应用程序。有一些应用程序,涉及的服务器端数据库处理活动很多,而与用户的交互活动较少,在这种端数据库处理活动很多,而与用户的交互活动较少,在这种情况下,将有关数据库的处理活动以储存过程的形式放在数情况下,将有关数据库的处理活动以储存
3、过程的形式放在数据库服务器上完成,则可以大大减轻网上传输流量,提高应据库服务器上完成,则可以大大减轻网上传输流量,提高应用程序性能。用程序性能。现在学习的是第3页,共38页12.1.2 存存储过程的程的优缺点缺点存储过程能够封装一些常用的复杂操作以提高复用性,并存储过程能够封装一些常用的复杂操作以提高复用性,并且保证数据库的安全性。然而在享有存储过程带来便利的同时,且保证数据库的安全性。然而在享有存储过程带来便利的同时,仍然需要考虑系统的应用需求以确定是否选用存储过程。仍然需要考虑系统的应用需求以确定是否选用存储过程。1存储过程的优点存储过程的优点2存储过程的缺点存储过程的缺点现在学习的是第4
4、页,共38页12.1.3 存存储过程的程的类型型在在SQL Server 2005中,存储过程可以分为两类,分别中,存储过程可以分为两类,分别是是T-SQL存储过程和存储过程和CLR存储过程。存储过程。T-SQL存储过程是指用存储过程是指用T-SQL语句编写的存储过程,是一组完成特定功能的语句编写的存储过程,是一组完成特定功能的T-SQL语句集合;语句集合;CLR存储过程是指引用存储过程是指引用.NET FRAMEWORK公共公共语言时方法的存储过程。它在语言时方法的存储过程。它在.NET FRAMEWORK程序集中程序集中是以类的公共静态方法实现的。是以类的公共静态方法实现的。按照存储过程的
5、应用目和来源的不同,可以将存储过程按照存储过程的应用目和来源的不同,可以将存储过程分为系统存储过程、用户存储过程和扩展存储过程。分为系统存储过程、用户存储过程和扩展存储过程。1系统存储过程系统存储过程2用户存储过程用户存储过程3扩展存储过程扩展存储过程现在学习的是第5页,共38页12.1.4 存存储过程与程与视图的比的比较存储过程与视图的区别如下:存储过程与视图的区别如下:视图是从一个或者多个表或视图中导出来的表,其结构和视图是从一个或者多个表或视图中导出来的表,其结构和数据是建立在对表的查询基础上的,但其并不存在物理上的结数据是建立在对表的查询基础上的,但其并不存在物理上的结构;而存储过程类
6、似于程序,一个用构;而存储过程类似于程序,一个用SQL语句写的程序,在其语句写的程序,在其内可以定义变量。内可以定义变量。视图在每次查询时,都需要重新生成执行计划;而存储过视图在每次查询时,都需要重新生成执行计划;而存储过程第一次编译完成后,以后就不需要再次编译,执行速度比视程第一次编译完成后,以后就不需要再次编译,执行速度比视图快。图快。可以在单个存储过程中执行一系列可以在单个存储过程中执行一系列T-SQL语句,存储过程语句,存储过程可以包含程序流,逻辑以及对数据库查询的可以包含程序流,逻辑以及对数据库查询的T-SQL语句,而视语句,而视图中只能是图中只能是SELECT语句。语句。视图的查询
7、条件是固定的,而存储过程可以通过给里面的视图的查询条件是固定的,而存储过程可以通过给里面的参数赋值达到查询条件灵活变化的效果。参数赋值达到查询条件灵活变化的效果。现在学习的是第6页,共38页12.2 创建和建和执行存行存储过程程对于存储过程的概念和优缺点有了充分的认识之后,下对于存储过程的概念和优缺点有了充分的认识之后,下面将详细讲解存储过程的核心内容,即如何创建和执行存储面将详细讲解存储过程的核心内容,即如何创建和执行存储过程。过程。现在学习的是第7页,共38页12.2.1 创建存建存储过程程存储过程是一组实现特定功能的存储过程是一组实现特定功能的T-SQL语句集,使用存语句集,使用存储过程
8、不仅能够极大的提升执行效率,而且可以作为一种安储过程不仅能够极大的提升执行效率,而且可以作为一种安全机制,实现用户不同级别权限的控制。全机制,实现用户不同级别权限的控制。1创建存储过程的语法创建存储过程的语法2存储过程的结构存储过程的结构3创建存储过程的规则创建存储过程的规则4使用使用T-SQL创建存储过程创建存储过程5使用使用SSMS创建存储过程创建存储过程现在学习的是第8页,共38页12.2.1 创建存建存储过程程现在学习的是第9页,共38页12.2.1 创建存建存储过程程现在学习的是第10页,共38页12.2.2 执行存行存储过程程为了便于演示,此处存储过程的执行都是放在为了便于演示,此
9、处存储过程的执行都是放在SSMS查查询编辑器窗口中进行的。系统开发过程中,不同的编程语言询编辑器窗口中进行的。系统开发过程中,不同的编程语言有不同的执行存储过程语法。有不同的执行存储过程语法。1执行存储过程的语法执行存储过程的语法2执行存储过程执行存储过程现在学习的是第11页,共38页12.2.2 执行存行存储过程程现在学习的是第12页,共38页12.2.3 带输入参数的存入参数的存储过程程系统开发过程中,有时需要根据用户的输入信息产生不系统开发过程中,有时需要根据用户的输入信息产生不同的查询结果,即把用户的输入信息作为参数传递给存储过同的查询结果,即把用户的输入信息作为参数传递给存储过程,这
10、就要用到带输入参数的存储过程。程,这就要用到带输入参数的存储过程。1创建带输入参数的存储过程创建带输入参数的存储过程2执行带输入参数的存储过程执行带输入参数的存储过程现在学习的是第13页,共38页12.2.3 带输入参数的存入参数的存储过程程现在学习的是第14页,共38页12.2.4 带输出参数的存出参数的存储过程程系统开发过程中,有时需要对查询结果进行一定形式的系统开发过程中,有时需要对查询结果进行一定形式的操作,并接结果返回给用户,需要用到带输出参数的存储过操作,并接结果返回给用户,需要用到带输出参数的存储过程。程。1创建带输出参数的存储过程创建带输出参数的存储过程2执行带输入参数的存储过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储 过程 自定义 函数
限制150内