【教学课件】第7章存储过程和触发器.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《【教学课件】第7章存储过程和触发器.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第7章存储过程和触发器.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息技术系信息技术系第第7章章 存储过程和触发器存储过程和触发器 7.1 存储过程存储过程7.1.1 存储过程的概念存储过程的概念7.1.2 系统存储过程系统存储过程7.1.3 用户自定义存储过程用户自定义存储过程在大型数据库中,存储过程和触发器具有很重要在大型数据库中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是的作用。无论是存储过程还是触发器,都是SQL语句的语句的结合。就本质而言,触发器也是一种存储过程。结合。就本质而言,触发器也是一种存储过程。信息技术系信息技术系7.1.1 存储过程的概念存储过程的概念 存存储储过过程程(Store Procedure)是是一一组组
2、为为了了完完成成特特定定功功能的能的SQL语句集,语句集,经编译后存储在数据库中经编译后存储在数据库中,供用户调用。,供用户调用。存存储储过过程程同同其其他他编编程程语语言言中中的的过过程程或或函函数数相相似似,有有如如下下特点:特点:n接受参数并以输出参数的形式将多个值返回接受参数并以输出参数的形式将多个值返回n返回状态值,以表明成功或失败返回状态值,以表明成功或失败 在在SQL中存储过程分为两类:中存储过程分为两类:n系统存储过程系统存储过程n用户自定义存储过程用户自定义存储过程信息技术系信息技术系7.1.2 系统存储过程系统存储过程在在SQL Server中中,有有许许多多管管理理工工作
3、作是是通通过过执执行行系统存储过程来完成的。系统存储过程来完成的。系系 统统 过过 程程 以以“sp_”为为 前前 缀缀,主主 要要 存存 储储 在在master数数据据库库中中,但但可可以以在在任任何何数数据据库库使使用用系系统统存存储过程。储过程。常用系统存储过程常用系统存储过程sp_helpdb 数据库名数据库名:查看数据库的一般信息:查看数据库的一般信息sp_help 数据库对象名数据库对象名:查看数据库对象的一般信息查看数据库对象的一般信息sp_helptext 数据库对象名数据库对象名:查看数据库对象的文本信息:查看数据库对象的文本信息sp_depends 数据库对象名数据库对象名
4、:查看数据库对象的相关性:查看数据库对象的相关性sp_rename 旧名,新名旧名,新名:修改数据库对象的名称:修改数据库对象的名称例:例:execute sp_help 学生学生信息技术系信息技术系7.1.3 用户自定义存储过程用户自定义存储过程 存存储储过过程程是是一一种种数数据据库库对对象象。创创建建存存储储过过程程的的方方法法:向导向导 企业管理器企业管理器 SQL语句语句1.不带参数的存储过程不带参数的存储过程例例1创建一个存储过程,用于查询货品创建一个存储过程,用于查询货品book的订单信息。的订单信息。create procedure sp1 as select*from ord
5、ers where 货品名称货品名称=bookgo -注意注意:创建存储过程的语句必须在一个独立的批中创建存储过程的语句必须在一个独立的批中execute sp1 -执行存储过程执行存储过程例例2(书(书P148):在在market数据库中建立一个名为数据库中建立一个名为st_cus的存储过程,用于检索客户信息与订单信息。的存储过程,用于检索客户信息与订单信息。信息技术系信息技术系7.1.3 用户自定义存储过程用户自定义存储过程2.带参数的存储过程带参数的存储过程例例1创建一个存储过程,显示某货品的订单信息。该存储创建一个存储过程,显示某货品的订单信息。该存储过程带有一个参数,用于接受货品名称
6、。过程带有一个参数,用于接受货品名称。(注意:形式参数的定义和实际参数的使用)(注意:形式参数的定义和实际参数的使用)create procedure sp2 x varchar(6)as select*from orders where 货品名称货品名称=xgoexecute sp2 book -执行存储过程执行存储过程-或者或者execute sp2 x=book形参的定义形参的定义实参的使用实参的使用信息技术系信息技术系7.1.3 用户自定义存储过程用户自定义存储过程例例2创建一个存储过程,显示某货品的订单信息。该存创建一个存储过程,显示某货品的订单信息。该存储过程带有一个参数,用于接受
7、货品名称,默认值为储过程带有一个参数,用于接受货品名称,默认值为“book”。(注意:默认值的设定)(注意:默认值的设定)create procedure sp3 x varchar(6)=book as select*from orders where 货品名称货品名称=xgo-执行存储过程执行存储过程execute sp3 default -default关键字启用参数的默认值关键字启用参数的默认值-或者或者execute sp3 忽略具有默认值的参数,表示启用参数忽略具有默认值的参数,表示启用参数的默认值的默认值-或者或者execute sp3 pen信息技术系信息技术系7.1.3 用户
8、自定义存储过程用户自定义存储过程3.带输出参数的存储过程带输出参数的存储过程例例1创建一个存储过程,它带有一个输入参数,用于接受创建一个存储过程,它带有一个输入参数,用于接受货品名称,带有一个输出参数,用于统计该货品的订单数。货品名称,带有一个输出参数,用于统计该货品的订单数。(注意:输出参数的定义和使用)(注意:输出参数的定义和使用)create procedure sp4 x varchar(6),y int output as select y=count(*)from orders where 货品名称货品名称=xgo-执行存储过程执行存储过程declare z intexecute
9、sp4 book,z outputselect z信息技术系信息技术系7.1.3 用户自定义存储过程用户自定义存储过程关于存储过程的返回值关于存储过程的返回值 任何存储过程都返回一个任何存储过程都返回一个整数整数状态值,一般返回状态值,一般返回“”以表明调用成功。如果要返回其他值,在存储过程以表明调用成功。如果要返回其他值,在存储过程中写中写RETURN语句,但只能是语句,但只能是整数整数值。值。例例1可以这样看到存储过程可以这样看到存储过程sp1的返回状态值:的返回状态值:declare x intexecute x=sp1select x信息技术系信息技术系7.1.3 用户自定义存储过程用
10、户自定义存储过程关于存储过程的返回值关于存储过程的返回值例例2创建一个存储过程,如果找到北京的客户,则返回创建一个存储过程,如果找到北京的客户,则返回北京的客户数,否则返回北京的客户数,否则返回0。create procedure sp5 as declare x int select x=count(*)from customers where 地址地址 like 北京北京%return xgodeclare x intexecute x=sp5 -执行存储过程执行存储过程select x信息技术系信息技术系7.1.3 用户自定义存储过程用户自定义存储过程存储过程的优点存储过程的优点1.存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 存储 过程 触发器
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内