数据库原理实验5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

系:国土资源专业:空间信息与数字技术年级: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。参数是学号,输出信息是指定学号所应的姓名、课程名称、成绩。运行时若没有指定学号,则提示请输入学号;

若学号不存在则提示学号不存在。

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

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

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

相关文档
最新文档