sql存储过程和触发器.ppt

sql存储过程和触发器.ppt

ID:57307387

大小:213.00 KB

页数:22页

时间:2020-08-11

sql存储过程和触发器.ppt_第1页
sql存储过程和触发器.ppt_第2页
sql存储过程和触发器.ppt_第3页
sql存储过程和触发器.ppt_第4页
sql存储过程和触发器.ppt_第5页
资源描述:

《sql存储过程和触发器.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章存储过程和触发器存储过程触发器7.1存储过程存储过程是一种数据库对象,将执行计划存储在数据库的服务器中。它的运行速度比独立运行同样的程序要快。存储过程类型创建存储过程执行存储过程修改存储过程删除存储过程7.1.1存储过程类型系统存储过程存储在master数据库中,以sp_为前缀。可以在其他数据库中对其进行调用。用户自定义存储过程由用户创建并能完成某一特定功能的存储过程。或称本地存储过程。包括临时存储过程、远程存储过程、扩展存储过程。临时存储过程又包括局部的和全局的临时存储过程,前者在过程名的前面带#,后者在过程名的前面带##。全局临时存储过程对所有用户都可见。扩展存储过程的前缀是

2、xp_。7.1.2创建存储过程用企业管理器创建用T-SQL命令创建存储过程的三个组成部分:(1)所有的输入参数以及传给调用者的输出参数;(2)被执行的针对数据库的操作语句,包括调用其他存储过程的语句;(3)返回给调用者的状态值,以指明调用是成功还是失败。7.1.2创建存储过程T-SQL创建存储过程的基本语法格式:CREATEPROC[EDURE]存储过程名称参数定义ASSQL语句例7.1:创建存储过程,实现查询所有学生信息的功能。Createprocproc_7_1AsSelect*Fromxsqk思考:创建存储过程,实现查询所有学生的学号、姓名、所选课程号、课程名、成绩及学分信息的功

3、能。7.1.2创建存储过程例7.2:创建存储过程proc_7_2,要求实现根据学生学号,产生不同结果,如果该学生信息不存在,则显示“无此学号的学生!”,否则返回该学生的基本信息。Createprocproc_7_2@snochar(8)AsIfexists(Select*Fromxsqkwhere学号=@sno)select*Fromxsqkwhere学号=@snoElseprint‘无此学号的学生!’思考:创建存储过程testproc2,实现根据学生的学号,查询此学生的学号、姓名、所选课程号、课程名、成绩及学分等信息。7.1.2创建存储过程说明:(1)在一个批处理中,Createpr

4、ocedure语句不能与其他SQL语句合并在一起。(2)数据库所有者具有默认的创建存储过程的权限。(3)存储过程作为数据库对象其命名必须符合命名规则。(4)只能在当前数据库中创建属于当前数据库的存储过程。(5)一个存储过程的最大尺寸为128M。7.1.3执行存储过程语句格式:EXECUTE存储过程名称参数值例7.3:执行例7.1的存储过程。execproc_7_1例7.4:执行例7.2的存储过程,查询学号为“02020101”学生的基本信息。execproc_7_2‘02020101’或execproc_7_2@sno=‘02020101’7.1.3举例例7.5:在学生成绩库中创建存储

5、过程proc_7_t1,要求实现如下功能:产生计算机0203班学生的选课情况列表,其中包括学号、姓名、性别、课程号、课程名称、学分等。并调用此存储过程,显示执行结果。createprocproc_7_t1asSelectxsqk.学号,姓名,性别,xskc.课程号,课程名,xskc.学分Fromxsqk,xscj,xskcWherexsqk.学号=xscj.学号andxscj.课程号=xskc.课程号and班级=‘计算机0203’例7.6:在学生成绩库中创建存储过程proc_7_t2,要求实现如下功能:根据学生学号,如果此学生存在,则产生该生的课程成绩列表,其中包括学号、课程号、课程名

6、称、成绩、学分等;如果此学生不存在,则显示“无此学生!”。并调用此存储过程,显示“02020101”学生的课程成绩情况。createprocproc_7_t2@snochar(8)asifexists(select*fromxsqkwhere学号=@sno)Select学号,xscj.课程号,课程名,成绩,xskc.学分Fromxscj,xskcWherexscj.课程号=xskc.课程号and学号=@snoelseprint‘无此学生!’7.1.4修改存储过程语法格式:ALTERPROCEDURE存储过程名称参数定义ASSQL语句例7.7:修改在例7.5中已创建的存储过程proc_7

7、_t1,要求在显示列中加入成绩列。alterprocproc_7_t1asSelectxsqk.学号,姓名,性别,xskc.课程号,课程名,xskc.学分,成绩Fromxsqk,xscj,xskcWherexsqk.学号=xscj.学号andxscj.课程号=xskc.课程号and班级=‘计算机0203’7.1.5删除存储过程语法格式:DROPPROC[EDURE]存储过程名称例7.8:删除存储过程proc_7_1。dropprocproc_7

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。