1、实验 7 存储过程一、实验目的与要求1.掌握交互式创建存储过程的方法。2.掌握用 T-SQL创建存储过程的方法。3.掌握执行存储过程的方法。4.掌握修改存储过程的方法,而且不改变权限。5.掌握交互式删除存储过程的操作。6.掌握用 SQL删除存储过程的方法。二、实验内容1.交互式创建并执行存储过程 Pro_Qsinf:通过学生的学号来查询该学生的姓名、年龄和所在系。默认学号是 200215121。2.用 T-SQL创建并执行存储过程 Pro_Qgrade:通过学生的姓名和课程名来查询该学生该课程的成绩。3.交互式修改存储过程 Pro_Qsinf。4.用 SQL修改存储过程 Pro_Qsinf。5
2、.交互式删除存储过程 Pro_Qsinf。6.用 SQL删除存储过程 Pro_Qgrade。三、实验步骤1. 交互式创建并执行一存储过程(1) 创建存储过程 Pro_Qsinf:通过学生的学号来查询该学生的姓名、年龄和所在系。 打开创建存储过程窗口。在“对象资源管理器”中,依次展开“数据库”-“学生-课程”-“可编程性”-“存储过程”节点,右击“存储过程”,选择“新建存储过程”命令,如图 1所示。打开存储过程编辑窗口,并包含模板语句,如图 2所示。 修改模板语句。将模板语句修改为图 3所示的 SQL语句。 语法检查。单击工具栏中的分析按钮 ,在“结果”窗口中显示“命令已成功完成”。 保存存储过
3、程。单击工具栏中的执行按钮 ,保存创建的存储过程。 查看数据库学生-课程中的存储过程对象。在对象资源管理器中,右击数据库学生-课程中的“存储过程”节点,选择“刷新”命令,展开“存储过程”节点,查看新建的存储过程 Pro_Qsinf,如图 4所示。图 1 选择“新建存储过程”命令图 2 存储过程编辑窗口图 3 创建存储过程 Pro_Qsinf图 4 数据库学生-课程中的存储过程(2) 执行存储过程 Pro_Qsinf。查询并显示默认学号 200215121和学号为200215122的学生姓名、年龄和所在系。 新建查询,打开查询编辑器窗口。 输入下列 SQL语句,查询并显示默认学号 2002151
4、21和学号为200215122的学生姓名、年龄和所在系,如图 5所示。 执行 SQL语句,结果如图 5所示。图 5 执行存储过程查询学生的信息2.用 T-SQL创建存储过程(1)创建存储过程 Pro_Qgrade:通过学生的姓名和课程名来查询该学生该课程的成绩。 新建查询,打开查询编辑器窗口。 输入并执行下列 SQL语句,如图 6所示。图 6用 T-SQL创建存储过程 查看数据库学生-课程中的存储过程对象。在对象资源管理器中,右击数据库学生-课程中的“存储过程”节点,选择“刷新”命令,展开“存储过程”节点,查看新建的存储过程 Pro_Qgrade。(3) 执行存储过程 Pro_Qgrade:查
5、询并显示“刘晨”的“数学”课程的成绩。 新建查询,打开查询编辑器窗口。 输入并执行下列 SQL语句,查询并显示“刘晨”的“数学”课程的成绩,如图 7所示。图 7 执行存储过程查询刘晨的数学成绩3.交互式修改存储过程 Pro_Qsinf(1)打开存储过程 Pro_Qsinf的编辑窗口。在“对象资源管理器”中,依次展开“数据库”-“学生-课程”-“可编程性”-“存储过程”节点,右击存储过程 Pro_Qsinf,在弹出的快捷菜单中选择“修改”命令,打开编辑窗口。(2)按要求修改定义。把输入变量 sno_in的长度改为 10;把输出变量sage_out的类型改为 tinyint,如图 8所示。(3)语
6、法检查。单击“分析”按钮,检查语法是否正确。(4)保存修改。单击“执行”按钮,保存对存储过程的修改。4.用 T-SQL修改存储过程 Pro_Qsinf(1) 新建查询,打开查询编辑器窗口。(2)输入并执行下列 SQL语句,将存储过程 Pro_Qsinf的定义修改为根据学号查询姓名、性别和所在系。设置默认学号为 200215125,如图 9所示。(3)检查存储过程对象的内容。在“对象资源管理器”中,依次展开“数据库”-“学生-课程”-“可编程性”-“存储过程”节点,右击存储过程 Pro_Qsinf,在弹出的快捷菜单中选择“刷新”命令。再展开dbo.Pro_Qsinf-“参数”节点,查看定义的变化
7、,如图 10所示。图 8 交互式修改存储过程 Pro_Qsinf图 9 用 T-SQL修改存储过程 Pro_Qsinf图 10 存储过程 Pro_Qsinf中的对象5.交互式删除存储过程 Pro_Qsinf(1)选择要删除的存储过程。在“对象资源管理器”中,依次展开“数据库”-“学生-课程”-“可编程性”-“存储过程”节点,选择存储过程Pro_Qsinf。(2)删除存储过程。右击存储过程 Pro_Qsinf,在弹出的快捷菜单中选择“删除”命令,如图 11所示。弹出“删除对象”对话框,单击“确定”按钮,存储过程 Pro_Qsinf即被删除。图 11 选择删除存储过程命令6.用 SQL删除存储过程 Pro_Qgrade(1) 新建查询,打开查询编辑器窗口。(2) 输入并执行下列 SQL 语句,删除存储过程 Pro_Qgrade,如图 12所示。(3) 刷新后查看学生-课程数据库中的存储过程,看 Pro_Qgrade是否已经被删 除。图 12 用 SQL删除存储过程 Pro_Qgrade