
19孔维文实验9.doc
7页实验九 存储过程和触发器实验内容在已建立的 TSGL数据库的基础上,按如下要求对数据库进行操作,按同前的命名要求保存操作代码和截图1. 利用 TSGL数据库中的 TREADER表和 TBOOK表和 historytable 表,编写一无参存储过程用于查询每个读者的借阅历史,然后调用该存储过程2. 编写一存储过程,根据 TSGL数据库的三个表查询指定读者(指定借书证号或指定姓名等)当前的借书情况3. 利用 TSGL数据库中的 TREADER表、 TBOOK表及 historytable 表创建一存储过程,查询指定图书( ISBN 或书名)的借阅历史该存储过程在参数中使用模糊查询,如果没有提供参数,则使用预设的默认值4. 编写一存储过程,统计指定图书在给定时间段内的借阅次数,存储过程中使用输入和输出参数5. 编写一存储过程,在 TSGL数据库的 TREADER表上声明并打开一个游标通过游标读取所需信息6. 创建加密过程,使用 sp_helptext 系统存储过程获得关于加密的存储过程的信息,然后尝试直接从 syscomment 表中获取关于该过程的信息7. 对 TSGL数据库中的三个表分别创建添加、修改、删除一条记录的存储过程。
8. 创建触发器,当向 LEND表中插入一条记录时,将 TREADER表中该学生的借书数加1,将 TBOOK表中该书的库存量减 19. 创建触发器,当修改 TREADER表中的借书证号时,同时也要将 LEND表中的借书证号修改成相应的借书证号(假设 TREADER表和 LEND表之间没有定义外键约束)10. 在删除 TREADERB表中的一条生记录时将 LEND表中该学生的相应记录也删除11. 在数据库 TSGL中创建一触发器,当向 lend 表插入一条记录时,检查该记录的借书证号在 TREADER表中是否存在,检查图书的 ISBN 在 TBOOK表中是否存在,以及图书的库存量是否大于 0, 若有一项为否,则不允许插入12. 在数据库 TSGL中创建一触发器,当删除 TREADER表一条记录时,检查该记录的借书证号在 JY 表中是否存在,如果存在,则不允许删除13. 在数据库 TSGL的 TREADER表上创建一触发器,若对借书证号列和专业名列修改,则给出提示信息,并取消修改操作( 用两种方法(指定列和位运算)实现) 14. 修改数据库 TSGL中在 TREADER表上定义的触发器 ( 内容自定 ) 。
15. 删除以上所建触发器。
