当前位置:文档之家› 存储过程与触发器 实验报告

存储过程与触发器 实验报告

信息工程学院实验报告
课程名称:《数据库原理》
实验项目名称:存储过程与触发器
一、实验目的:
(1)了解存储过程的概念
(2)掌握创建、执行存储过程的方法
(3)了解查看、修改和删除存储过程的方法
(4)了解触发器的概念
(5)掌握创建触发器的方法
(6)掌握查看、修改、删除触发器信息的方法
二、实验设备与器件
Win7 +Sql server 2008
三、实验内容与步骤
(一)存储过程
运行实验四附录中的SQL语句,准备实验数据。

然后创建下列存储过程,并调试运行存储过程,查看运行结果。

1.在企业管理器中创建一个名为StuInfo的存储过程,完成的功能是在student表中查询系号为D2的学号、姓名、性别、年龄、系号的内容。

CREATE PROCEDURE StuInfo
AS
SELECT SNO AS学号,
SNAME AS姓名,
SSEX AS性别,
SAGE AS年龄,
DNO AS系号
FROM student
WHERE DNO='D2'
结果:
stuinfo
2.使用T_SQL语句创建存储过程,完成的功能是在表student,course和study中查询以下字段:学号、姓名、性别、课程名称、考试分数。

use mydb
--查询是否已存在此存储过程,如果存在,就删除它
if exists(select name from sysobjects
where name='StuScoreInfo'and type='P')
drop procedure StuScoreInfo
go
--创建存储过程
CREATE PROCEDURE StuScoreInfo
as
select student.sno as学号,
sname as姓名,
ssex as性别,
ame as课程名称,
study.grade as考试分数
from student,course,study
where student.sno=study.sno and o=o
结果:
StuScoreInfo
3.使用T_SQL语句创建一个带有参数的存储过程stu_sno_info,该存储过程根据传入的学生编号,在student表中查询此学生的信息。

if exists(select name from sysobjects
where name='stu_info'and type='P')
drop procedure stu_info
go
--创建存储过程
create procedure stu_info
@sno varchar(8)
as
select
sno as学号,
sname as姓名,
ssex as性别,
sage as年龄,
dno as年级
from student
where sno=@sno
结果:
Use mydb
Exec Stu_Info@sno='s1'
(二)触发器
4.创建一个名为Stu_Insert 的INSERT触发器,当在表student中插入一条新记录时,触发该触发器,并给出“你插入了一条新记录!”的提示信息。

CREATE TRIGGER Stu_Insert on[dbo].[student]
FOR INSERT
AS
DECLARE@msg char(30)
SET@msg='你插入了一条新记录!'
print@msg
结果:
INSERT INTO student VALUES('S4','张三','男',38,'D1');
四、实验总结:
经过这次试验我掌握了创建、执行存储过程的方法;查看、修改和删除存储过程的方法
;创建触发器的方法;查看、修改、删除触发器信息的方法
.。

相关主题