实用数据库技术 教学课件 作者 罗勇胜 张志强 常理民习题答案 第3章练习答案.docVIP

实用数据库技术 教学课件 作者 罗勇胜 张志强 常理民习题答案 第3章练习答案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 存储过程和触发器练习答案 [练习3-1] 通过查找SQL Server 2000的联机从书,掌握使用向导创建存储过程的方法,然后创建一个对图书表进行插入操作的存储过程,存储过程名称为图书表1,并分析该存储过程是T-SQL语句。 (略) [练习3-2] 通过查找SQL Server 2000的联机从书,掌握使用企业管理器创建存储过程的方法,然后创建一个查询图书表所有字段的存储过程,命名为图书2。 (略) [练习3-3] 使用SQL语句创建一个存储过程,用来查询销售表中ISBN,数量和销售单价的存储过程,并把它命名为销售1。 create procedure 销售1 as select ISBN,数量,销售单价 from 销售表 [练习3-4] 使用SQL语句创建一个存储过程,用来向图书表插入记录的存储过程,并把它命名为图书3。 create procedure 图书3 ( @ISBN char(13), @书名 varchar(30), @出版社 char(20), @单价 smallmoney, @当前销售折扣 decimal(3,1) ) as insert into 图书表(ISBN,书名,出版社,单价,当前销售折扣) values(@ISBN,@书名,@出版社,@单价,@当前销售折扣) [练习3-5] 使用SQL语句创建一个存储过程,用来向销售表删除记录的存储过程,并把它命名为销售2。 create procedure 销售2 ( @ISBN char(13), @数量 int=default, @销售单价 smallmoney=default, @销售时间 datetime=default ) as delete from 销售表 where ISBN=@ISBN [练习3-6] 使用SQL语句创建一个存储过程,用来向进货单据表修改记录的存储过程,并把它命名为进货单据1。 create procedure 进货单据1 ( @单号 char(6), @单号_1 char(6), @进货时期 datetime, @供应商编号 char(3), @经办人 char(10) ) as update 进货单据表 set 单号=@单号,进货时期=@进货时期,供应商编号=@供应商编号,经办人=@经办人 where 单号=@单号_1 [练习3-15] 删除练习3-3~练习3-6所建立的存储过程。 Drop procedure销售1 Drop procedure图书3 Drop procedure销售2 Drop procedure进货单据1 [练习3-17] 创建了一个名称为:Update_图书的触发器,规定当图书表的单价发生变化时,显示:“图书表单价已被修改,触发器起到作用”,并打印触发后的结果,再更改图书表单价列以触发该触发器。 create trigger Update_图书的触发器 on 图书表 for update as if update(单价) print 图书表单价已被修改,触发器起到作用 select * from 图书表 go update 图书表 set 单价=50 where ISBN=7-115-08115-6 [练习3-18] 通过创建一个名为:insert_update_delete_供应商表的触发器,当把供应商表中编号为:103的供应商名称改为司徒楚雄时,触发触发器,查看inserted表和deleted表的内容。 create trigger insert_update_delete_供应商表 on 供应商表 for update as select * from inserted select * from deleted go update 供应商表 set 联系人=司徒楚雄 where 编号=103 [练习3-19] 在数据库“小书店图书进销存 ”中创建一触发器,名为:销售_图书,当向销售表插入一条记录时,检查该记录的ISBN在图书表中是否存在,如不存在,则不允许插入,并提示出错信息: ‘图书表中没有相关的记录’。 create trigger 销售_图书 on 销售表 for insert as if exists(select * from inserted where inserted.ISBN not in(select ISBN from 图书表)) begin raiserror(图书表中没有相关的记录,16,1) rollback end [练习3-20] 在” 小书店图书进销存”数据库中,现今创建一个触发器,名为:Delete_进货单据表。如果要删除进货单据表中的记录,则与该记录单据号对应的进货明细表中的记录也应该删除。 create trigger Delete_进货

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档