ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:16.67KB ,
资源ID:4404427      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4404427.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库高级技术实例存储过程触发器.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库高级技术实例存储过程触发器.docx

1、数据库高级技术实例存储过程触发器按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)1、 运用存储过程创建STUDENT、GRADE、COURSE表(要求实现完整性)。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)2、 运用存储过程创建STUDENT、DEPARTMENT、DORM表(要求实现完整性)。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)3、 运用存储过程对STUDENT、DEPARTMENT、DORM表插入一条符合完整性的记录。(内容自己定义)按照要求

2、编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)4、 编写带参的存储过程:实现删除01课程数据库原理的相关信息。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)5、 编写带参的存储过程:实现删除990101学生原野的相关信息。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)6、 编写带参的存储过程:实现宿舍号从2101修改为3101。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)7、 编写带参的存储过程:实现查询宿舍号“250

3、5”的相关信息。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)8、 运用触发器对GRADE实现插入记录“980101,08,99”(相关信息自己定义)。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)9、 运用触发器对STUDENT表中的SEX实现数据范围检查,若出错,提示信息。按照要求编写相应代码,执行结果后,并删除对象:(以学号+题号做文件名提交:990101_1)10、运用触发器对STUDENT表的操作只能在工作时间:9-15,每周一到五,实现数据安全性控制。答案:1、 用存储过程创建STUDENT

4、、GRADE、COURSE表(要求实现完整性)。use student_datago if exists (select name from sysobjectswhere name=cun and type=P)drop procedure cungocreate procedure cunas begin if not exists(select name from sysobjects where name=student and type=U) begin create table student (sno char(6)NOT null unique, sname char(8) n

5、ot null, sex char(2), sage int, dno char(4), dormno char(5), constraint FK_DEP FOREIGN KEY (dno) references department(dno), constraint PK_student primary key(sno) )insert into studentvalues(990101,原野,男,21,1,2101);endif not exists(select name from sysobjects where name=grade and type=U) begin create

6、 table grade (sno char(6), cno char(2), score int constraint pk_grade primary key (sno,cno);insert into gradevalues (990101,01,85);endif not exists(select name from sysobjects where name=course and type=U) begin create table course (cno char(2) NOT null unique, cname char(20) not null, cpno char(2),

7、 credit int, teacher char(8) constraint FK_CP foreign key (cpno) references dorm(cpno), constraint PK_COr primary key(cno)insert into coursevalues(01,数据库原理,05,4,王凯); endendgocunselect *from student2、 运用存储过程创建STUDENT、DEPARTMENT、DORM表(要求实现完整性)。3、 运用存储过程对STUDENT、DEPARTMENT、DORM表插入一条符合完整性的记录。(内容自己定义)use

8、 studentgo if exists (select name from sysobjectswhere name=cun and type=P)drop procedure cungocreate procedure cunssno char(6),ssname char(8),ssex char(2),ssage int,ddno char(4),ddorm char(5),dddno char(4),ddname char(8),hhead char(20),dddorno char(5),dddtel char(7)asbegin if not exists(select sno

9、from student where sno=ssno) if exists (select dno from department where dno=ddno) If exists(select dormno from dorm where dormno=ddorm) insert into student (sno,sname,sex,sage,dno,dormno) values(ssno,ssname,ssex,ssage,ddno,ddorm) if not exists(select dno from department where dno=dddno) if not exis

10、ts(select dname from department where dname=ddname) insert into department values(dddno,ddname,hhead) if not exists(select dormno from dorm where dormno=dddorno) if not exists(select tele from dorm where tele=dddtel) insert into dorm values(dddorno,dddtel) endgouse studentgocun 990109,达到,男,19,4,2404

11、,5,地质,哈哈,6504,8306753select *from studentselect *from departmentselect *from studentselect *from dorm4、 编写带参的存储过程:实现删除01课程数据库原理的相关信息。if exists(select name from sysobjects where name=del_cname and type=p)drop procedure del_cnamegocreate procedure del_cnamecname char(20)asbegindelete grade where cno =

12、(select cno from course where cname=数据库原理)delete course where cname=cnameendgoselect * from course select * from gradeuse student_datagodel_cname 数据库原理go drop procedure del_cname5、 编写带参的存储过程:实现删除990101学生原野的相关信息。use student_data /*打开数据库*/go if exists(select name from sysobjects where name =del_Sand t

13、ype =p)drop procedure del_S gocreate procedure del_Sstu char(6)as begin delete grade where sno=stu delete student where sno=stu endgoselect * from grade select * from studentdel_S 9901016、 编写带参的存储过程:实现宿舍号从2101修改为3101。use student_dataif exists (select name from sysobjects where name = adjust_roo and

14、type = P) drop procedure adjust_roogocreate procedure adjust_roodormnoo char(5) ,dormnoo1 char(5)as begin update student set dormno=dormnoo1 where dormno=dormnoo delete from dorm where dormno=dormnoo end goadjust_roo 2101, 3101goselect * from student7、 编写带参的存储过程:实现查询宿舍号“2505”的相关信息。use studentgoif ex

15、ists(select name from sysobjects where name=search_dorm and type=p)drop procedure search_dormgocreate procedure search_dormdormno char(5)asbeginselect dorm.*, sno,sname from dorm,student where student.dormno=dorm. dormno and dormno=dormnoendgouse studentexec search_dorm 2505godrop procedure search_d

16、orm8、 运用触发器对GRADE实现插入记录“980101,08,99”(相关信息自己定义)。use student_dataif exists(select name from sysobjects where name =SCand type =tr)drop trigger SC gocreate trigger SC on gradefor insertas declare Sno char(6) declare Cno char(2) declare msg1 char(100) declare msg2 char(100) declare msg3 char(100) decla

17、re Score int select Sno= Sno from inserted select msg1=没有学生 if not exists(select * from student where sno =Sno ) begin print msg1 rollback transaction return end select Cno=Cno from inserted select msg2=没有课程 if not exists(select * from course where cno =Cno ) begin print msg2 rollback transaction re

18、turn end select Score=score from inserted select msg3=成绩不对 if (Score is not NULL and (Score100) begin print msg3 rollback transaction end goinsert into grade(sno,cno,score)values(990101,01,NULL) delete grade where sno=9901019、 运用触发器对STUDENT表中的SEX实现数据范围检查,若出错,提示信息。use student_dataif exists (select na

19、me from sysobjects where name=tr_ssex and type=TR) drop trigger tr_ssexgocreate trigger tr_ssex on student before update,insert as declare msg varchar(100) declare vssex char(2) select msg=数据有误,请检查后,重新输入! select vssex=sex from inserted if (vssex男and vssex女) begin print msg rollback transaction endre

20、turngoselect * from studentupdate student set sex=王where sno=990101update student set sex=女 where sno=990101insert into student(sno,sname,sex)values(200001,A,王)insert into student(sno,sname,sex)values(200002,B,女)drop trigger tr_ssexsp_helptext tr_ssex10、运用触发器对STUDENT表的操作只能在工作时间:9-15,每周一到五,实现数据安全性控制。

21、use studentif exists(select name from sysobjectswhere name=tr_up_studentand type=TR)drop trigger tr_up_studentgocreate trigger tr_up_student on studentfor update,insert,deleteasdeclare msg varchar(100)select msg =无法操作if(datename(weekday,getdate() like sat or datename(weekday,getdate() like sun or datename(hour,getdate() not between 9 and 15)BEGIN PRINT msgrollbackendgoselect * from studentupdate studentset sage=30where sno=990101

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2