存储器和触发器.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储器和触发器

《存储器和触发器》member(member_no,lastname,firstname,photograph) 会员表 ?adult(member_no , street ,city ,state ,zip ,phone_no ) 成人表 ?juvenli(member_no,adult_member_no, brith_date) 青少年表 ??title(title_no ,title ,author ,synopsis)书名表 item(isbn ,title_no ,translation ,cover ,loanable)书目表 ?copy(isbn ,copy_no,title_no,on_loan) 删数表 ?每本书(title)会有多种版本(item), 每种版本书会买多本书(copy) ?loan(isbn ,copy_no ,title_no ,member_no ,out_date ,due_date) 借阅表 ?reservation(isbn,member_no, log_date, remarks) 预定表 ?loanlist(isbn, copy_no,out_date, title_no,member_no,due_date,in_date,remark) 借阅历史信息表 ?out_date:借出日期; due_date: 归还日期;on_loan :是否可借 ?title_no:书的编号; copy_no:相同书的编号;isbn:ISBN号 完成下列操作: 1. 为library 数据库的adult表中的phone_no列添加检查约束0592)开关,后面是7个数字。如(0592)-5609234 ALTER TABLE adult ADD CONSTRAINT C1 CHECK(phone_no LIKE ‘0592-[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’); 2.为member表创建member_update触发器,member_update ON member FOR UPDATE AS IF UPDATE(member_no) BEGIN RAISERROR(‘不允许修改’,10,1) ROLLBACK TRANSACTION END 3.在member表中创建一个delete触发器,规定删除某一会员时,未还图书的会员不能被删除.member_delete ON member FOR DELETE AS IF (SELECT COUNT(*) FROM loan,deleted WHERE loan.member_no=deleted.member_no)0 BEGIN RAISERROR(未还图书的会员loancount的存储过程1 ,否则返回0。 CREATE PROC dbo.loancount @member_no member_no, @loancount int OUTPUT AS IF EXISTS (SELECT * FROM loan WHERE member_no = @member_no) BEGIN SELECT @loancount=COUNT(*) FROM loan WHERE member_no = @member_no RETURN (1) END ELSE RETURN (0) GO 5.?为library 数据库的adult表创建外约束(:adult_member_link),参照member表的主键member_no。(假设已存在这样的约束名) (要求在添加新的核查约束时,是否对表中现有的数据进行检查). ALTER TABLE adult WITH NOCHECK ADD CONSTRAINT adult_member_link FOREIGN KEY(member_no) REFERENCES member (member_no) 6.为loan表创建一个DELETE 触发器,loan表上删除一行数据时(表时有人归还了一本书),自动更新copy表的on_loan(是否借出的状态信息,Y表示借出,N表示可借) (要求在复制过程中,不执行触发器操作)。 CREATE TRIGGER loan_delete ON loan FOR DELETE AS UPDATE copy SET on_loan = N FROM copy c INNER JOIN deleted d ON c.isbn = d.isbn and c.copy_no = d.copy_no 7. 创建一个称为membertype的存储过程,.它检查这个数是为否为某个adult(成年人表) 或ju

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档