数据库原理实验5 下载本文

内容发布更新时间 : 2024/12/23 13:40:09星期一 下面是文章的全部内容请认真阅读。

福建农林大学资源与环境学院实验报告

系: 国土资源 专业: 空间信息与数字技术 年级: 2016 姓名: 任然 学号: 3165706014 实验室号____507__ 计算机号 44 实验时间: 2018年5日 指导教师签字: 成绩: 报告退发 (订正 、 重做)

实验名称:触发器、存储过程操作实验

一、实验目的和要求

(1)掌握 SQL Server中的触发器的使用方法; (2)掌握存储过程的操作方法。

二、实验内容和原理

1. 基本操作实验

在读者-图书数据库中用Transact-SQL语句描述下列功能: (1)在读者表上建立一个DELETE类型的触发器lianxi_del,触发动作是显示信息(已删除读者表中的数据),执行下列语句:

create trigger lianxi_del on 读者 for delete

as print ‘已删除读者表中的数据’

(2)建立一个查询指定读者号的阅读信息的存储过程List_jy,输入参数为读者号,如果没有输入读者号,则要输出提示信息。建立这个存储过程的语句如下所示。

create procedure List_jy

@p_dzh char(5) = null as

if @p_dzh is null begin

print ‘请输入一个读者号’ return end else

select 编号,姓名,书名,借阅时间 from 读者,借阅,图书

where 读者.编号=借阅.读者编号 and 借阅.书号=图书.书号

and 读者.编号=@p_dzh

2. 提高操作实验

在学生-课程数据库中用Transact-SQL语句描述下列功能:

(1)为学生表建立一个名TRI_INSERT的INSERT触发器。功能是当用户向学生表添加数据时,同时也把这些数据添加到stu表中。其中:学生表和表stu的结构相同。

(2)为学生表建立一个名TRI_DELETE的DELETE触发器。功能是当用户从学生表

删除数据时,同时把这些要删除的数据添加到stu表中。其中:表student和表stu的结构相同。

(3)创建一查询存储过程,过程名称为P_CX。参数是学号,输出信息是指定学号所应的姓名、课程名称、成绩。运行时若没有指定学号,则提示请输入学号;若学号不存在则提示学号不存在。

(4)创建一统计存储过程,过程名称为P_CJTJ。参数是学号,输出信息是指定学号的姓名、选课门数、平均分、总分、最高分、最低分。运行时若没有指定学号,则提示输入学号;若学号不存在则提示学号不存在。

(5)创建一个实现求1—n所有数之和的存储过程, 过程名称为P_SUM。参数是n,输出是前n个之和。如:n=100,则输出5050。

(6)创建一个求指定区间[a,b]的随机数的存储过程, 过程名称为P_RAND。参数据是a和b(a

三、实验环境

硬件:计算机

软件:Windows 2000和SQL Server 2000

四、算法描述及实验步骤

1. 基本操作实验

在读者-图书数据库中用Transact-SQL语句描述下列功能: (1)在读者表上建立一个DELETE类型的触发器lianxi_del,触发动作是显示信息(已删除读者表中的数据),执行下列语句:

create trigger lianxi_del on 读者 for delete

as print ‘已删除读者表中的数据’

(2)建立一个查询指定读者号的阅读信息的存储过程List_jy,输入参数为读者号,如果没有输入读者号,则要输出提示信息。建立这个存储过程的语句如下所示。

create procedure List_jy

@p_dzh char(5) = null as

if @p_dzh is null begin

print ‘请输入一个读者号’ return end else

select 编号,姓名,书名,借阅时间 from 读者,借阅,图书

where 读者.编号=借阅.读者编号 and 借阅.书号=图书.书号

and 读者.编号=@p_dzh

2. 提高操作实验

在学生-课程数据库中用Transact-SQL语句描述下列功能:

(1) 为学生表建立一个名TRI_INSERT的INSERT触发器。功能是当用户向学生表

添加数据时,同时也把这些数据添加到stu表中。其中:学生表和表stu的结构相同。

(2) 为学生表建立一个名TRI_DELETE的DELETE触发器。功能是当用户从学生

表删除数据时,同时把这些要删除的数据添加到stu表中。其中:表student和表stu的结构相同。

(3) 创建一查询存储过程,过程名称为P_CX。参数是学号,输出信息是指定学号

所应的姓名、课程名称、成绩。运行时若没有指定学号,则提示请输入学号;若学号不存在则提示学号不存在。