数据库编程.doc_第1页
数据库编程.doc_第2页
数据库编程.doc_第3页
数据库编程.doc_第4页
数据库编程.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_北 华 航 天 工 业 学 院数据库原理与应用实验报告报告题目: 数据库编程 作者所在系部: 计算机科学与工程 作者所在专业: 网络工程 作 者 学 号 : 20104052201 作 者 姓 名 : 吴淑婷 指导教师姓名: 张云峰 完 成 时 间 : 2012-6-8 北华航天工业学院教务处制数据库编程一、 实验目的1、 掌握存储过程的概念、优点、特点及用途;2、 掌握创建、执行、修改和删除存储过程的方法;3、 掌握创建游标和使用游标修改表中数据的方法。二、 实验内容(一)附加上次实验所创建的数据库“db_Library”,并回顾该库的数据表信息。(二)练习创建和管理存储过程1、创建一个名为“PROC_系部读者借阅信息”的无参存储过程,要求显示计算机系读者2010-1-1以后借阅的图书信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段。创建完成之后,执行上述存储过程,观察执行结果。2、修改上述的存储过程为带参的存储过程,要求根据所提供的系部名称和时间,查询出该系部在该时间之后借阅了图书的读者信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段,并按照读者姓名升序排列,并将读者的总数作为输出参数返回。创建完成之后,执行上述存储过程,观察执行结果。3、创建一个名为“Proc_图书借阅信息”的存储过程,要求根据所提供的图书名称或编号,查询出借阅了该图书的读者信息,包括“读者编号”、“读者姓名”、“学号”、“借阅日期”,并返回该存储过程的执行状态。(其中,图书名称或编号可能为空,图书名称采用模糊查询)创建完成之后,执行上述存储过程,观察执行结果。4、创建一个名为“Proc_删除读者信息”的存储过程,要求根据所提供的读者编号,删除该编号所对应的读者,如果不存在此编号的读者,则显示“该编号的读者不存在!”。创建完成之后,执行上述存储过程,观察执行结果。5、创建一个名为“Proc_修改借阅信息”的存储过程,要求根据所提供的读者编号和天数,将该读者的归还日期增加相应的天数,如果不存在该读者的借阅信息,则显示“该读者没有借阅图书!”。创建完成之后,执行上述存储过程,观察执行结果。6、删除存储过程“Proc_修改借阅信息”。(三)练习创建游标1、定义一个游标,将有借书记录的读者的借阅信息(包括读者编号、读者姓名、书名、借阅日期)显示出来。2、通过游标将图书信息表中记录号为5的图书的单价改为50。三、 实验步骤(二)练习创建和管理存储过程1、创建一个名为“PROC_系部读者借阅信息”的无参存储过程,要求显示计算机系读者2010-1-1以后借阅的图书信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段。USE db_Library1GO CREATE PROCEDURE PROC_系部读者借阅信息AS SELECT rname AS 读者姓名,bno AS 图书编号,borrdata AS 借阅日期FROM tb_reader , tb_borrowWHERE tb_reader.rno=tb_borrow.rno AND borrdata2010-1-1 AND rindept=计算机系2、修改上述的存储过程为带参的存储过程,要求根据所提供的系部名称和时间,查询出该系部在该时间之后借阅了图书的读者信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段,并按照读者姓名升序排列,并将读者的总数作为输出参数返回。USE db_Library1GO CREATE PROCEDURE PROC_系部读者借阅信息r_count int outputAS SELECT rname AS 读者姓名,bno AS 图书编号,borrdata AS 借阅日期,count(rname)FROM tb_reader , tb_borrowWHERE tb_reader.rno=tb_borrow.rno AND borrdata2010-1-1 AND rindept=计算机系GROUP BY tb_reader.rname,tb_borrow.bno,tb_borrow.borrdataORDER BY rnameRETURN r_countGO3、创建一个名为“Proc_图书借阅信息”的存储过程,要求根据所提供的图书名称或编号,查询出借阅了该图书的读者信息,包括“读者编号”、“读者姓名”、“学号”、“借阅日期”,并返回该存储过程的执行状态。(其中,图书名称或编号可能为空,图书名称采用模糊查询)创建完成之后,执行上述存储过程,观察执行结果。USE db_Library1GO CREATE PROCEDURE PROC_图书借阅信息AS SELECT rstuno AS 学号,tb_reader.rno AS 读者编号,rname AS 读者姓名,borrdata AS 借阅日期FROM tb_reader , tb_borrow,tb_bookWHERE tb_reader.rno=tb_borrow.rno AND tb_borrow.bno=tb_book.bnoGO4、创建一个名为“Proc_删除读者信息”的存储过程,要求根据所提供的读者编号,删除该编号所对应的读者,如果不存在此编号的读者,则显示“该编号的读者不存在!”。创建完成之后,执行上述存储过程,观察执行结果。CREATE PROCEDURE Proc_删除读者信息rno CHAR(6)ASIF EXISTS(SELECT rno FROM tb_reader WHERE rno=rno)BEGINDELETE FROM tb_borrow WHERE rno=rnoDELETE FROM tb_reader WHERE rno=rnoENDELSEPRINT 该编号的读者不存在!EXEC Proc_删除读者信息R10010 ;EXEC Proc_删除读者信息R11010 ;5、创建一个名为“Proc_修改借阅信息”的存储过程,要求根据所提供的读者编号和天数,将该读者的归还日期增加相应的天数,如果不存在该读者的借阅信息,则显示“该读者没有借阅图书!”。创建完成之后,执行上述存储过程,观察执行结果。CREATE PROC Proc_修改借阅信息dzbh CHAR(6),tsh INTASBEGIN IF EXISTS(SELECT * FROM tb_borrow WHERE rno=dzbh) UPDATE tb_borrow SET lenddata=dateadd(day,tsh,lenddata) WHERE rno=dzbh ELSE PRINT 该读者没有借阅图书!ENDEXEC Proc_修改借阅信息tsh=3,dzbh=R10003EXEC Proc_修改借阅信息tsh=3,dzbh=R100116、删除存储过程“Proc_修改借阅信息”。DROP PROCEDURE Proc_修改借阅信息(三)练习创建游标1、定义一个游标,将有借书记录的读者的借阅信息(包括读者编号、读者姓名、书名、借阅日期)显示出来。DECLARE B_rno CHAR(6),B_rname CHAR(10),B_bname CHAR(30),B_borrdata DATETIMEDECLARE B_cursor SCROLL CURSOR FOR SELECT tb_reader.rno,tb_reader.rname,tb_book.bname,tb_borrow.borrdata FROM tb_reader,tb_borrow,tb_book WHERE tb_book.bno=tb_borrow.bno AND tb_borrow.rno=tb_reader.rnoFOR READ ONLYOPEN B_cursorFETCH FROM B_cursor INTO B_rno,B_rname,B_bname,B_borrdata WHILE FETCH_STATUS=0 BEGIN PRINT 读者编号:+B_rno+ +读者姓名:+B_rno+ + 书名:+B_bname+ + cast (B_borrdata AS VARCHAR(4) ) FETCH FROM B_cursor INTO B_rno,B_rno,B_bname,B_borrdata ENDCLOSE B_cursorDEALLOCATE B_cursor2、通过游标将图书信息表中记录号为5的图书的单价改为50。DECLARE book_cursor SCROLL CURSOR FORSELECT * FROM tb_book FOR UPDATE OF tb_book.bpriceOPEN book_cursorFETCH ABSOLUTE 5 FROM book_cursorUPDATE tb_bookSET tb_book.bprice = 50 WHERE CURRENT OF book_cursorFETCH ABSOLUTE 5 FROM book_cursorCLOSE book_cursorDEALLOCATE book_cursor四、 实验总结通过此次实验我掌握了创建、执行、修改和删除存储过程的方法,还

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论