- 41
- 0
- 约1.48千字
- 约 6页
- 2017-06-05 发布于湖北
- 举报
计算机科学系实验报告 (首页)
课程名称 数据库系统概论 班 12 级 网络工程
实验名称 实验六:触发器和存储过程 指导教师 索剑
姓名 李文森 学 号 1214080613213 日 期 2014.06.10
一、实验目的
实现简单的触发器和存储过程编制,了解触发器和存储过程作用。
二、实验设备与环境
SQL SERVER 2000,XP 系统
三、实验内容、程序清单及运行结果
实验内容:使用SQL语言书写触发器和存储过程。
程序清单及运行结果
用触发器实现如下功能;
设有两个数据表XX和YY,结构如下:
要求用触发器实现
若在XX表中输入一个记录,则在YY表中追加相同记录;若在XX表中更新一个记录的MONEY字段,则在YY表中更新相应记录的相同MONEY字段。
1.
create trigger tri1 on xx for insert as
begin
declare @a int;
declare @b varchar(10);
declare @c varchar(10);
select @a=xid,@b=xname,@c=xmoney from inserted;
insert into yy values(@a,@b,@c);
end
INSERT INTO XX values(1,aaa,100);
2.
create trigger tri2 on xx for update as
begin
declare @d varchar(10);
select @d=xmoney from inserted;
update yy set ymoney=@d;
end
在“学生-课程”数据库中用存储过程实现如下功能:
实现查询“95001”同学所有的选修课程和成绩;
create procedure pro1
as
begin
select * from SC where sno=95001;
end
用参数传递实现查询“95001”同学所有的选修课程和成绩;
create procedure pro2(@sno varchar(10))
as
begin
select * from SC where sno=@sno;
end
在Course表中增加一门课程,若已存在该课程即退出;若不存在即为某个指定系的学生增加选修这门课程,返回选修人数。
create procedure pro3(@cno1 varchar(10),@cname1 varchar(10),
@sdept1 varchar(10))
as
declare @cno2 varchar(10);
declare @sno1 varchar(10);
select @cno2=Cno from course where cno=@cno1 and cname=@cname1;
if @cno2 is null
begin
insert into Course(Cno,Cname) values(@cno1,@cname1);
insert into SC(Sno,Cno) select Sno,@cno1 from Student where Sdept=@sdept1;
select count(*) 选修人 from SC where Cno=@cno1;
end
您可能关注的文档
最近下载
- 个人简历表格填写2021简历模板.docx VIP
- 针灸推拿学习题库(附答案).docx VIP
- 毕业设计(论文)-五边形凸台零件铣削加工.doc VIP
- 2026届山东省淄博市高三上学期期末考试(摸底质量检测)历史试题(含答案).docx VIP
- 常见词组固定搭配.pdf VIP
- 2023年山东泰安中考地理试题及答案.pdf VIP
- 胎动管理专家共识最新2025.pptx
- (小学综合实践课标复习题全.doc VIP
- 0—3岁婴幼儿心理发展与教育 第四章 0-3岁婴幼儿心理发展与教育 课件PPT.pptx VIP
- 0—3岁婴幼儿心理发展与教育 第三章 0-3岁婴幼儿心理发展与教育 课件PPT.pptx VIP
原创力文档

文档评论(0)