存储过程用户自定义函数与触发器省公共课一等奖全国赛课获奖课件.pptx
《存储过程用户自定义函数与触发器省公共课一等奖全国赛课获奖课件.pptx》由会员分享,可在线阅读,更多相关《存储过程用户自定义函数与触发器省公共课一等奖全国赛课获奖课件.pptx(43页珍藏版)》请在咨信网上搜索。
1、第第13章章 存放过程、用户自定义存放过程、用户自定义函数与触发器函数与触发器计算中心计算中心第1页本章内容本章内容13.1 13.1 存放过程概述存放过程概述13.2 13.2 经过企业管理器创建、修改和删除存经过企业管理器创建、修改和删除存放过程放过程13.3 13.3 存放过程执行与参数传递存放过程执行与参数传递13.4 13.4 用户自定义函数用户自定义函数13.5 13.5 触发器及其作用、效果演示触发器及其作用、效果演示第2页13.1 13.1 存放过程概述存放过程概述l存放过程(存放过程(Stored Procedure)l是什么?是什么?l l简单说:简单说:简单说:简单说:存
2、放过程是将惯用或很复杂工作,预存放过程是将惯用或很复杂工作,预先用先用T-SQL语句写好并用一个指定名称存放起语句写好并用一个指定名称存放起来语句集合。来语句集合。l l书本定义:书本定义:书本定义:书本定义:是是SQL Server服务器上一组服务器上一组预编译预编译预编译预编译T-SQL语句,用于完成某项任务,它能够接收语句,用于完成某项任务,它能够接收参数、返回状态值和参数值,而且能够嵌套调参数、返回状态值和参数值,而且能够嵌套调用。用。l l举例举例举例举例第3页13.1 13.1 存放过程概述存放过程概述l为何要使用存放过程?为何要使用存放过程?l存放过程在创建时即在服务器上进行编译
3、,所存放过程在创建时即在服务器上进行编译,所以执行起来比以执行起来比SQLSQL语句语句快快快快,且能降低网络通信,且能降低网络通信负担。负担。l能够在单个存放过程中执行一系列能够在单个存放过程中执行一系列SQLSQL语句,语句,完完完完成复杂操作成复杂操作成复杂操作成复杂操作。l存放过程存放过程能够重复使用能够重复使用能够重复使用能够重复使用,降低数据库开发人员,降低数据库开发人员工作量工作量 。l l安全性高安全性高安全性高安全性高,可设定只有一些用户才含有对指定,可设定只有一些用户才含有对指定存放过程使用权。存放过程使用权。第4页13.1 13.1 存放过程概述存放过程概述l存放过程类型
4、存放过程类型l系统存放过程系统存放过程比如:比如:EXEC sp_helpdbl l用户定义存放过程:用户定义存放过程:由用户创建并能完成某由用户创建并能完成某一特定功效存放过程。一特定功效存放过程。l暂时存放过程暂时存放过程l扩展存放过程扩展存放过程比如:比如:比如:比如:EXEC xp_cmdshell dir d:第5页13.1 13.1 存放过程概述存放过程概述l存放过程功效存放过程功效(1)接收输入参数并以输出参数形式为调用过程接收输入参数并以输出参数形式为调用过程或批处理返回多个值。或批处理返回多个值。(2)包含执行数据库操作编程语句,包含调用其包含执行数据库操作编程语句,包含调用
5、其它过程。它过程。(3)为调用过程或批处理返回一个状态值,以表为调用过程或批处理返回一个状态值,以表示成功或失败示成功或失败(及失败原因及失败原因)。l存放过程特点存放过程特点第6页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程l创建存放过程指导标准创建存放过程指导标准l防止出现存放过程拥有者和底层对象拥有者不一样防止出现存放过程拥有者和底层对象拥有者不一样情况,提议由情况,提议由dbo用户用户拥有数据库中全部对象拥有数据库中全部对象l每个存放过程完成单个任务每个存放过程完成单个任务l命名当地存放过程时候,防止使用命名当地存放过程时候,防止使用“sp_”前缀前缀l尽可能少
6、使用暂时存放过程,以防止频繁连接尽可能少使用暂时存放过程,以防止频繁连接 tempdb 里系统表里系统表l不要直接从不要直接从 syscomments 系统表里删除项系统表里删除项第7页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程l创建存放过程创建存放过程(1)开启企业管理器,登录到要使用服务器。开启企业管理器,登录到要使用服务器。(2)选择要创建存放过程数据库,在左窗格中单击选择要创建存放过程数据库,在左窗格中单击“存放存放过程过程”文件夹,此时在右窗格中显式该数据库全部存文件夹,此时在右窗格中显式该数据库全部存放过程,如图放过程,如图13-1所表示。所表示。图图13
7、-1 13-1 企业管理器中显示存放过程信息企业管理器中显示存放过程信息第8页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程(3)右击右击“存放过程存放过程”文件夹,在弹出菜单中选择文件夹,在弹出菜单中选择【新建存新建存放过程放过程】选项,打开创建存放过程对话框,以下列图。选项,打开创建存放过程对话框,以下列图。图图13-2 13-2 创建存放过程对话框创建存放过程对话框第9页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程(4)在在“文本文本”编辑框中输入存放过程正文。编辑框中输入存放过程正文。(5)单击单击“检验语法检验语法”按钮,检验语法是否正确
8、。按钮,检验语法是否正确。(6)单击单击“确定确定”按钮,保留存放过程。按钮,保留存放过程。图图13-3 13-3 输入存放过程内容输入存放过程内容输入内输入内容区域容区域提醒:提醒:提醒:提醒:新创建存放过新创建存放过程名字包含程名字包含在在CREATE CREATE PROCEDUREPROCEDURE语句语句中,不在保留中,不在保留时输入。时输入。第10页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程l修改存放过程修改存放过程(1)在企业管理器中展开服务器组,再展开服务器。在企业管理器中展开服务器组,再展开服务器。(2)展开展开“数据库数据库”文件夹,再展开要修改存
9、放过程数据库。文件夹,再展开要修改存放过程数据库。(3)在要修改存放过程上右击,并在弹出快捷菜单中选择在要修改存放过程上右击,并在弹出快捷菜单中选择【属性属性属性属性】项,或项,或双击双击双击双击该存放过程,弹出该存放过程,弹出“存放过程属性存放过程属性”对话框。对话框。图图13-4 控制台目录控制台目录第11页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程l删除存放过程删除存放过程l类似于删除表操作,在存放过程显示列表中选择要删类似于删除表操作,在存放过程显示列表中选择要删除存放过程(能够用除存放过程(能够用ctrl或或shift选多个)。选多个)。l右键单击选中存放过
10、程,在弹出快捷菜单中选择右键单击选中存放过程,在弹出快捷菜单中选择【删删除除】项,打开项,打开“除去对象除去对象”对话框,以下列图,单击对话框,以下列图,单击【全部除去全部除去】按钮,完成删除。按钮,完成删除。图图13-5“13-5“除去对象除去对象”对话框对话框显示与该存显示与该存放过程相关放过程相关对象对象第12页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程l创建存放过程时,需要确定存放过程三个创建存放过程时,需要确定存放过程三个组成部分:组成部分:l l参数参数参数参数,全部输入参数以及传给调用者输出参数。,全部输入参数以及传给调用者输出参数。l l过程体过程体过
11、程体过程体,被执行针对数据库操作语句,包含调,被执行针对数据库操作语句,包含调用其它存放过程语句;用其它存放过程语句;l l返回状态返回状态返回状态返回状态,返回给调用者状态值,以指明调用,返回给调用者状态值,以指明调用是成功还是失败。是成功还是失败。第13页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程l不含参数存放过程不含参数存放过程例例例例13-113-1:查询学生成绩。查询学生成绩。CREATE PROCEDURE 查询学生成绩查询学生成绩 ASSELECT 学生表学生表.姓名姓名,课程表课程表.课程名课程名,选课表选课表.成绩成绩FROM 选课表选课表 INNE
12、R JOIN 学生表学生表 ON 选课表选课表.学号学号=学生表学生表.学号学号 INNER JOIN 课程表课程表 ON 选课表选课表.课程号课程号=课程表课程表.课程号课程号执行:执行:EXEC 查询学生成绩查询学生成绩第14页13.2 13.2 创建、修改和删除存放过程创建、修改和删除存放过程例例例例13-213-2:查找查找1100之间完全平方数。之间完全平方数。CREATE PROCEDURE 查找完全平方数查找完全平方数 ASdeclare n intset n=1while n*n=85set 评价评价=优异优异elsebeginif 平均分平均分=60set 评价评价=普通普通
13、elseset 评价评价=差差endinsert into 学生考试评价学生考试评价(学号学号,平均成绩平均成绩,考试评价考试评价)values(学号学号,平均分平均分,评价评价)或经过或经过CASE语句语句完成,见备完成,见备注注第25页13.3 13.3 存放过程执行与参数传递存放过程执行与参数传递l返回存放过程状态返回存放过程状态l用用RETURN语句定义返回值语句定义返回值l存放过程能够返回整型状态值,表示过程是否存放过程能够返回整型状态值,表示过程是否成功执行,或者过程失败原因。成功执行,或者过程失败原因。l假如存放过程没有显式设置返回代码值,则假如存放过程没有显式设置返回代码值,则
14、SQL Server返回代码为返回代码为 0,表示成功执行;若返,表示成功执行;若返回回-1-99之间整数,表示没有成功执行。也能够之间整数,表示没有成功执行。也能够使用使用RETURN语句,用大于语句,用大于0或小于或小于-99整数来整数来定义自己返回状态值,以表示不一样执行结果。定义自己返回状态值,以表示不一样执行结果。第26页13.3 13.3 存放过程执行与参数传递存放过程执行与参数传递例例例例13-613-6:创建存放过程,输入课程号,返回课程名称。在存放创建存放过程,输入课程号,返回课程名称。在存放过程中,用值过程中,用值15表示用户没有提供参数;值表示用户没有提供参数;值-101
15、表示没有表示没有输入课程号;值输入课程号;值0表示过程运行没有犯错。表示过程运行没有犯错。CREATE PROCEDURE dbo.查询课程名查询课程名 课程号课程号 as varchar(10)=nullASif 课程号课程号=nullreturn 15if not exists(select*from 课程表课程表 where 课程号课程号=课程号课程号)return-101select 课程名课程名 from 课程表课程表 where 课程号课程号=课程号课程号第27页13.3 13.3 存放过程执行与参数传递存放过程执行与参数传递l捕捉返回状态值捕捉返回状态值l在执行过程时,要正确接收
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储 过程 用户 自定义 函数 触发器 公共课 一等奖 全国 获奖 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。