sql存储过程和触发器.ppt
《sql存储过程和触发器.ppt》由会员分享,可在线阅读,更多相关《sql存储过程和触发器.ppt(22页珍藏版)》请在三一文库上搜索。
1、第7章 存储过程和触发器,存储过程 触发器,7.1 存储过程,存储过程是一种数据库对象,将执行计划存储在数据库的服务器中。它的运行速度比独立运行同样的程序要快。 存储过程类型 创建存储过程 执行存储过程 修改存储过程 删除存储过程,7.1.1 存储过程类型,系统存储过程 存储在master数据库中,以sp_为前缀。可以在其他 数据库中对其进行调用。 用户自定义存储过程 由用户创建并能完成某一特定功能的存储过程。或 称本地存储过程。包括临时存储过程、远程存储过 程、扩展存储过程。 临时存储过程又包括局部的和全局的临时存储过 程,前者在过程名的前面带#,后者在过程名的前面 带#。全局临时存储过程对
2、所有用户都可见。 扩展存储过程的前缀是xp_ 。,7.1.2 创建存储过程,用企业管理器创建 用T-SQL命令创建 存储过程的三个组成部分: (1)所有的输入参数以及传给调用者的输出参数; (2)被执行的针对数据库的操作语句,包括调用其他 存储过程的语句; (3)返回给调用者的状态值,以指明调用是成功还是 失败。,7.1.2 创建存储过程,T-SQL创建存储过程的基本语法格式: CREATE PROCEDURE 存储过程名称 参数定义 AS SQL语句 例7.1:创建存储过程,实现查询所有学生信息的功能。 Create proc proc_7_1 As Select * From xsqk 思
3、考:创建存储过程,实现查询所有学生的学号、姓名、所选课程号、课程名、成绩及学分信息的功能。,7.1.2 创建存储过程,例7.2:创建存储过程proc_7_2,要求实现根据学生学号,产生不同结果,如果该学生信息不存在,则显示“无此学号的学生!”,否则返回该学生的基本信息。 Create proc proc_7_2 sno char(8) As If exists(Select * From xsqk where 学号= sno) select * From xsqk where 学号= sno Else print 无此学号的学生! 思考:创建存储过程testproc2,实现根据学生的学号,查询
4、此学生的学号、姓名、所选课程号、课程名、成绩及学分等信息。,7.1.2 创建存储过程,说明: (1)在一个批处理中,Create procedure语句不能与其 他SQL语句合并在一起。 (2)数据库所有者具有默认的创建存储过程的权限。 (3)存储过程作为数据库对象其命名必须符合命名规 则。 (4)只能在当前数据库中创建属于当前数据库的存储过 程。 (5)一个存储过程的最大尺寸为128M。,7.1.3 执行存储过程,语句格式: EXECUTE 存储过程名称 参数值 例7.3:执行例7.1的存储过程。 exec proc_7_1 例7.4:执行例7.2的存储过程,查询学号为“02020101”学
5、生的基本信息。 exec proc_7_2 02020101 或 exec proc_7_2 sno= 02020101,7.1.3 举例,例7.5:在学生成绩库中创建存储过程proc_7_t1,要求实现如下功能:产生计算机0203班学生的选课情况列表,其中包括学号、姓名、性别、课程号、课程名称、学分等。并调用此存储过程,显示执行结果。,create proc proc_7_t1 as Select xsqk.学号, 姓名, 性别, xskc.课程号, 课程名, xskc.学分 From xsqk, xscj, xskc Where xsqk.学号 = xscj.学号 and xscj.课程号
6、 = xskc.课程号 and 班级 = 计算机0203,例7.6:在学生成绩库中创建存储过程proc_7_t2,要求实现如下功能:根据学生学号,如果此学生存在,则产生该生的课程成绩列表,其中包括学号、课程号、课程名称、成绩、学分等;如果此学生不存在,则显示“无此学生!”。并调用此存储过程,显示“02020101”学生的课程成绩情况。,create proc proc_7_t2 sno char(8) as if exists(select * from xsqk where 学号=sno) Select 学号,xscj.课程号,课程名,成绩,xskc.学分 From xscj, xskc W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 存储 过程 触发器
链接地址:https://www.31doc.com/p-7196977.html