- 25
- 0
- 约2.94千字
- 约 9页
- 2016-12-27 发布于重庆
- 举报
西 安 思 源 学 院
数据库实验报告
实验名称:存储过程与触发器
班 级:11计算机科学与技术
学 号:111102020104
姓 名:张小华
指导教师:王英强
实验时间:2013年5月
成 绩:
实验11存储过程与触发器
实验目的
(1)掌握创建存储过程和触发器的方法和步骤。
(2)掌握存储过程和触发器的使用方法。
2.实验准备
了解存储过程和触发器的基本概念和类型。
了解创建存储过程和触发器的SQL语句的基本用法。
了解查看、执行、修改和删除存储过程的 SQL语句的用法。
了解查看、修改和删除触发器的SQL语句的用法。
3.实验内容
(1)使用存储过程:
①使用student数据库中的“学生”、“课程注册”、“课程”、表创建一个不带参数的存储过程(kcxd)。该存储过程的功能是:显示所有学生的学号、选修的课程名和课程成绩。
.执行kcxd存储过程,显示所有学生的学号、选修课程和课程成绩。
源代码:
use student
go
create proc kcxd
as
select 学生.姓名,学生.学号,课程名,成绩
from 学生,课程注册,课程
where 学生.学号=课程注册.学号and 课程.课程号=课程注册.课程号
go
执行kcxd代码:
use student
go
exec kcxd
go
②使用student数据库中的“学生”、“课程注册”、“课程”、表创建 一个不带参数的存储过程(cjxc)。该存储过程的功能是:当任意给定 一个学生的姓名时,将显示该学生的学号,选修的课程名和课程成绩, 若没有给定学生的姓名,则显示所有学生的学号、选修的课程名和课程成绩。
.执行cjcx存储过程,查询“周红梅”的学号、选修课程和课程成绩。
.执行cjcx存储过程,不指定参数值。
.使用系统存储过程sp_helptxt查看存储过程cjcx的文本信息。
源代码:
use student
go
create proc cjkx
@student_name char(10)
as
if @student_name=
begin
select 学生.姓名,学生.学号,课程名,成绩
from 学生,课程注册,课程
where 学生.学号=课程注册.学号and
课程.课程号=课程注册.课程号
end
else
begin
select 学生.姓名,学生.学号,课程名,成绩
from 学生,课程注册,课程
where 学生.学号=课程注册.学号and
课程.课程号=课程注册.课程号
and 学生.姓名=@student_name
end
go
执行cjcx存储过程,查询“周红梅”的学号、选修课程和课程成绩
代码如下:
use student
go
exec cjkx 周红瑜
go
执行cjcx存储过程,不指定参数值
代码如下:
use student
go
exec cjkx
go
使用系统存储过程sp_helptxt查看存储过程cjcx的文本信息
代码如下:
use student
go
exec sp_helptext cjkx
go
③使用student数据库中的“教师”、“教师任课”表创建一个带参数的存储过程(jsrk)。该存储过程的功能是:当任意输入一个教师的姓名时,将由输出参数返回该教师的任课数量。
. 执行jsrk存储过程,查询“张斌”的任课数。
创建存储过程jsrk:
use student
go
create proc jsrk
@js_name varchar(20)
as
select count(课程号)as 该教师任课数量
from 教师,教师任课
where 教师.姓名=@js_name and
教师.教师编号=教师任课.教师编号
go
执行jsrk存储过程,查询“张斌”的任课数
代码如下:
use student
go
exec jsrk 张斌
go
(2)使用触发器:
在jifei数据库中建立一个名为ins
原创力文档

文档评论(0)