数据库实验:创建与操作存储过程及视图

需积分: 9 10 下载量 107 浏览量 更新于2024-07-22 收藏 1.47MB DOC 举报
"本次实验由云南大学软件学院的张旋老师指导,主要涉及数据库原理与实用技术,实验内容包括创建和操作数据库对象,如存储过程和视图。实验7-1部分介绍了如何创建和使用存储过程,包括不带参数和带有输入/输出参数的存储过程。此外,还涉及到了带`WITH CHECK OPTION`的视图操作,以及对视图的更新和查询。" 在实验7-1中,存储过程是数据库操作的重要组成部分,它们是一组预编译的SQL语句,可以提高数据处理的效率和代码的重用性。首先,实验展示了如何创建一个不带参数的存储过程`my_proc`,该过程用于查询“学生表”中所有计算机系女生的相关信息。创建存储过程的语法通常如下: ```sql CREATE PROCEDURE procedure_name AS BEGIN -- SQL 语句 END; ``` 在本例中,存储过程`my_proc`会查询特定条件的数据,即计算机系的女生信息。 接着,实验进一步探讨了带参数的存储过程。首先介绍的是只有输出参数的存储过程`grad`,它接受两个输出参数`@max_grade`和`@min_grade`,分别用来获取`grades`表中的最大和最小分数。创建这种存储过程的语法如下: ```sql CREATE PROCEDURE proc_name (@param1 datatype OUTPUT, @param2 datatype OUTPUT) AS BEGIN -- SQL 语句 END; ``` 然后,实验还展示了有输入/输出参数的存储过程`my_procage`,它接受一个输入参数`@name`和一个输出参数`@age`。这个过程首先检查学生是否存在于表中,如果存在,则返回其年龄;如果不存在,则返回错误码。创建这样的存储过程需要在`EXEC`语句中同时指定参数。 实验还涉及到视图的创建和使用。`WITH CHECK OPTION`是一个重要的约束,它确保在更新或插入视图时,新的数据仍然满足视图的原始筛选条件。例如,创建了一个名为`custview`的视图,只显示折扣低于12.0的客户信息,并且使用`WITH CHECK OPTION`确保之后的更新操作不会违反这一条件。 最后,实验演示了对视图的查询和更新操作。可以像操作表一样对视图进行查询,但需要注意的是,由于`WITH CHECK OPTION`的存在,更新视图时必须保持其筛选条件不变。实验中尝试将`cid='c001'`的客户折扣设置为13.0,但由于该操作违反了视图的筛选条件,因此无法执行。 通过这个实验,学习者可以深入理解存储过程和视图的概念,掌握它们的创建、调用及使用方法,从而更好地管理和操作数据库。