- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- IATF16949供应商管理程序(含配套表格).doc VIP
- 2024外研英语七上Unit3Familyties--单元语法:名词所有格+练习(教师版).pdf VIP
- 译林版初中单词汇总表.docx VIP
- 大明集礼(卷1-53),徐一夔 等奉勅撰,嘉靖-4.pdf VIP
- 2025年全球物流行业无人机配送与市场前景分析报告.docx
- 含碘对比剂静脉外渗护理管理实践指南.pptx VIP
- 新22J02 屋面-标准图集.docx VIP
- 现在完成时.ppt VIP
- 2024外研英语七上 Unit 3 Family ties 重点短语默写(英汉互译).docx VIP
- 九章算术中的立体几何.pdf VIP
文档评论(0)