下载此文档

8、第7章存储过程和触发器.ppt


文档分类:IT计算机 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
第7章存储过程和触发器
存储过程
触发器
存储过程
存储过程是一种数据库对象,将执行计划存储在数据库的服务器中。它的运行速度比独立运行同样的程序要快。
存储过程类型
创建存储过程
执行存储过程
修改存储过程
删除存储过程
存储过程类型
系统存储过程
存储在master数据库中,以sp_为前缀。可以在其他数据库中对其进行调用。
用户自定义存储过程
由用户创建并能完成某一特定功能的存储过程。或称本地存储过程。包括临时存储过程、远程存储过程、扩展存储过程。
临时存储过程又包括局部的和全局的临时存储过程,前者在过程名的前面带#,后者在过程名的前面带##。全局临时存储过程对所有用户都可见。
扩展存储过程的前缀是xp_ 。
创建存储过程
用企业管理器创建
用T-SQL命令创建
存储过程的三个组成部分:
(1)所有的输入参数以及传给调用者的输出参数;
(2)被执行的针对数据库的操作语句,包括调用其他存储过程的语句;
(3)返回给调用者的状态值,以指明调用是成功还是失败。
创建存储过程
T-SQL创建存储过程的基本语法格式:
CREATE PROC[EDURE] 存储过程名称参数定义
AS SQL语句
:创建存储过程,实现查询所有学生信息的功能。
Create proc proc_7_1
As
Select * From xsqk
思考:创建存储过程,实现查询所有学生的学号、姓名、所选课程号、课程名、成绩及学分信息的功能。
创建存储过程
:创建存储过程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,实现根据学生的学号,查询此学生的学号、姓名、所选课程号、课程名、成绩及学分等信息。
创建存储过程
说明:
(1)在一个批处理中,Create procedure语句不能与其他SQL语句合并在一起。
(2)数据库所有者具有默认的创建存储过程的权限。
(3)存储过程作为数据库对象其命名必须符合命名规则。
(4)只能在当前数据库中创建属于当前数据库的存储过程。
(5)一个存储过程的最大尺寸为128M。
执行存储过程
语句格式:
EXECUTE 存储过程名称参数值
:。
exec proc_7_1
:,查询学号为“02020101”学生的基本信息。
exec proc_7_2 ‘02020101’
或 exec proc_7_2 ***@sno= ‘02020101’
举例
:在学生成绩库中创建存储过程proc_7_t1,要求实现如下功能:产生计算机0203班学生的选课情况列表,其中包括学号、姓名、性别、课程号、课程名称、学分等。并调用此存储过程,显示执行结果。
create proc proc_7_t1
as
Select , 姓名, 性别, , 课程名,
From xsqk, xscj, xskc
Where =
and =
and 班级= ‘计算机0203’
:在学生成绩库中创建存储过程proc_7_t2,要求实现如下功能:根据学生学号,如果此学生存在,则产生该生的课程成绩列表,其中包括学号、课程号、课程名称、成绩、学分等;如果此学生不存在,则显示“无此学生!”。并调用此存储过程,显示“02020101”学生的课程成绩情况。
create proc proc_7_t2 ***@sno char(8)
as
if exists(select * from xsqk where 学号=***@sno)
Select 学号, , 课程名, 成绩,
From xscj, xskc
Where =
and 学号= ***@sno
else
print ‘无此学生!’

8、第7章存储过程和触发器 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-09-06
最近更新