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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(实验五 存储过程和触发器(计科).doc)为本站会员(hwpkd79526)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

实验五 存储过程和触发器(计科).doc

1、实验五:触发器和存储过程一、实验目的:理解触发器和存储过程的含义,掌握用 SQL 语句实现触发器和存储过程的编写,并初步掌握什么情况下使用事务。二、预习要求:存储过程和触发器的相关概念,事务的相关概念,编写相应的SQL 语句。三、实验内容:有一个小型的图书管理数据库,包含的表为:bookstore(bookid,bookname,bookauthor,purchasedate,state) ;-图书库存表borrowcard(cardid,ownername) ;-借书证表borrowlog(cardid,bookid,borrowdate,returndate) ;-借书记录表写一个存储过程

2、,实现借书操作,要求有事务处理。 (1)读者借书,要先设置书籍不在库标志 state(借出) ,然后增加借书记录,在同一事务中完成。 (2)要求在事务执行过程中引入错误触发事件,以此体会事务的错误保护机制和事务编程的作用。 (3)要求用触发器实现表的完整性控制。四、完成情况(附上设计的 SQL 语句) 。-触发器和存储过程-触发器和存储过程CREATE DATABASE BOOK1gouse BOOK1CREATE TABLE BOOKSTORE(Bookid nvarchar(10),Bookname nvarchar(10),Bookauthor nvarchar(10),purchase

3、date datetime,state Nvarchar(10),primary key(Bookid)Create table Borrowcard(Cardid int,ownername nvarchar(10),primary key(Cardid)Create table Borrowlog(Cardid int,Bookid nvarchar(10),borrowdate datetime,returndate datetime,primary key(Cardid,Bookid)insert into Borrowcard values(12,wyb)insert into Bo

4、rrowcard values(123,wyb)insert into Borrowcard values(1,wyb)insert into Bookstore values(1,数据库, 王珊, 2012-04-23,存在)insert into Bookstore values(2,数据结构, 珊, 2012-11-23,存在)insert into Bookstore values(3,数据结构, 珊, 2011-1-23,存在)insert into Bookstore values(11,数据库 ,王珊 ,2009-10-23,存在)insert into Bookstore va

5、lues(12,数据结构 ,珊 ,2001-11-23,存在)insert into Bookstore values(13,数据结构 ,珊 ,2013-12-23,存在)-借书存储过程create proc borrow1bookid nvarchar(10),cardid intasbegin transactioninsert into Borrowlog(Cardid,Bookid,borrowdate,returndate)values(cardid,bookid,getdate(),null)if exists(select * from bookstore,Borrowcard

6、where bookid=bookid and state=存在 and cardid=cardid)beginupdate bookstore set state=不存在 where bookid=bookidcommit transactionendelsebegin if exists(select * from bookstore where bookid=bookid and state=不存在)Print 不存在该书if not exists(select*from borrowcard,bookstore where cardid=cardid)Print 没有此用户rollba

7、ck transactionEndexec borrow1 3,12exec borrow1 3,123exec borrow1 2,123drop proc borrow1 -删除存储过程Create trigger insert_borrowlogon Borrowlog after insertasdeclare borrowdate datetime,returndate datetimeselect borrowdate=borrowdate,returndate=returndate from insertedif(borrowdatereturndate)print 借书时间不可晚于还书时间rollbackselect * from bookstoreinsert into Borrowlog values(12,1,2013-06-06,2012-05-5)五、 思考题:如何通过系统的设置实现类似的功能,而不需触发器?答:通过定义存储过程或者设置外键约束等方法。六、实验总结:答:对存储过程非常不熟悉,做起来特别生硬。所以我们应该多做上机练习,熟悉 sql 的语言环境,多看书,以提升自己各方面能力。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报