1 / 11
文档名称:

数据库,触发器实验报告.docx

格式:docx   大小:18KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库,触发器实验报告.docx

上传人:feng1964101 2019/2/21 文件大小:18 KB

下载得到文件列表

数据库,触发器实验报告.docx

文档介绍

文档介绍:数据库,触发器实验报告实验4触发器 1、通过序列和触发器实现借阅表中借阅流水号字段的自动递增。 Createorreplacesequencebwnum_id Minvalue1 Maxvalue Startwith1 Incrementby1 Cache20; CreateorReplaceTriggertri_bwnum_id BeforeInsertOnborrow ForEachRow Begin Selectbwnum_Into: FromDUAL; End; 2、通过序列和触发器实现预约表中预约流水号字段的自动递增 Createsequencepnum_id Minvalue1 Maxvalue Startwith1 Incrementby1 Cache20; CreateorReplaceTriggertri_pnum_id BeforeInsertOnpreborrow ForEachRow Begin Selectpnum_Into: FromDUAL; End; 3、修改实验三借书功能的存储过程。该存储过程要求: 借书时输入借书证号,图书编号。借书时,借书日期为系统时间。*该存储过程主体部分只有insertinto语句。 createorreplaceProcedurep_borrow (P_BNUMIN%TYPE, P_RNUMIN%TYPE) as begin insert intoBORROW(BNUM,RNUM,BDATE) values(P_BNUM,P_RNUM,TO_CHAR(SYSDATE(),'YY/MM/DD')); commit; end; 4、建立与借书存储过程相对应的触发器,当借阅表中加入借阅信息时,该触发器触发,自动修改所借图书的是否借出改为‘是’。 CreateorReplaceTriggertri_borrow_insert AfterInsertOnborrow ForEachRow Begin updatebooksetbborrow='是'wherebnum=:; End; 5、修改实验三还书功能的存储过程。该存储过程要求: 还书时输入借书证号,图书编号。还书时,还书日期为系统时间。*该存储过程主体部分只有一条UPDATE语句。 CreateorreplaceProcedurep_return (P_BNUMIN%TYPE, P_BMNUMIN%TYPE) as begin updateborrow setrdate=to_char(sysdate,'yyyy/mm/dd') wherebnum=p_bnumandbmnum=p_bmnum; commit; end; 6、建立与还书存储过程相对应的触发器,当借阅表中填入还书日期时,该触发器触发,自动修改所还图书的是否借出为‘否’。 CreateorReplaceTriggertri_borrow_update AfterupdateOnborrow ForEachRow Begin updatebooksetbborrow='否'wherebnum=:; End; 《数据库系统原理及应用》实验报告实验成绩专业班级:软件1101班学号姓名指导教师 XX年10月14日实验七名称:SQLServer触发器和游标一、实验内容及要求 ,并验证触发器执行情况。任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。任务2:限制每个学期所开设的课程总学分在20~30范围内。任务3:限制每个学生每学期选课门数不能超过6门任务4:限制不能删除有人选的课程 :查询java课程的考试情况,并按教材11-19所示样式显示结果数据。任务2:统计每个系的男生人数和女生人数,并按教材11-20所示样式显示结果数据。任务3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系名下列出本系学生的姓名和性别,以此类推,直至列出全部系。要求按教材11-21所示样式显示结果数据。二、实验目的掌握触发器的概念;掌握触发器创建方法;掌握游标的概念;掌握游标的使用方法。 ,并验证触发器执行情况。任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。 createtriggertri_InsertsdeptonStudentafterinsertasifexists(select*frominsertediwhere!='计算机系'and!='信息管理系'and!='数学系'and!='通信工程系') Beginprint'你所插入的学生的系被限制!'rollbackendgo insert