当前位置:文档之家› 试验3SQLServer的视图存储过程和触发器

试验3SQLServer的视图存储过程和触发器

实验三 SQL Server的视图、存储过程和触发器
一、实验目的
本实验主要了解SQL Server视图、存储过程和触发器的基本概念和使用方法。

通过本实验,读者将学会在企业管理器中创建、修改、执行和删除存储过程的操作以及在查询分析器中执行的T-SQL语句;掌握触发器的创建、修改和删除的操作方法和T-SQL语句。

掌握视图的创建、修改和删除的操作方法和T-SQL语句。

二、实验环境
●Microsoft SQL Server 2008 SSMS
●Book数据库
三、实验内容
1. 创建存储过程proc_book11和proc_book12,查询指定学院的教师预订教材的情况。

要求显示教材名称(T_BookInfo.BookName)、教师姓名(T_Teacher.TeacherName)和教材数量(T_BookOrder.StuBookNum+T_BookOrder.TeaBookNum)。

(1) proc_book11的查询条件为:学院代码
(2) proc_book12的查询条件为:学院名称
2. 创建存储过程proc_book2,查询指定教材的预订数量。

3. 创建添加教材信息的存储过程proc_book3。

4. 创建触发器tri_book1,在对T_Teacher表进行插入、修改和删除记录时,都会自动显示表中的内容。

5. 创建触发器tri_book2,当修改T_Teacher表中的TeacherCode字段值时,该字段在T_BookOrder表中的对应值也作修改。

6. 创建触发器tri_book3,检查插入在T_BookInfo表中的教材库存(StockNum)是否大于等于0。

7. 创建视图view_book1,使其包含预订数量最高的20%的教材信息。

要求显示教材代号(BookCode)、教材名称(BookName)、ISBN号(ISBNCode)和出版社名称(Publisher)。

8. 创建视图view_book2,查询预订了教材名中含有“程序”一词的教师姓名(TeacherName)和所在学院名称(AcadName)。

9. 创建视图view_book3,使其包含“学院名称(AcadName)”、“教师姓名(TeacherName)”、“预订书名(BookName)”、“是否领走(TakeAway)”。

四、实验报告要求
1. 给出实现每个小题功能的SQL语句。

请注意SQL语句也应有合适的缩进,对复杂的语句应加上注释,说明语句段的功能。

2. 对存储过程和视图给出执行语句以及执行结果(屏幕截图)。

对触发器,请给出可以触发
相应事件的语句,并给出触发结果(屏幕截图)。

3. 如果执行时出错,给出出错的结果(屏幕截图),分析出错的原因及改正方法。

4. 实验总结及心得体会。

相关主题