第八章课后习题1

preview
需积分: 0 1 下载量 113 浏览量 更新于2022-08-08 收藏 17KB DOCX 举报
在MySQL中,存储过程和函数是数据库管理中的重要组成部分,它们允许我们封装复杂的SQL操作,提高代码复用性,减少网络通信,以及增强安全性。以下是关于这些知识点的详细说明: 一、填空题 1. 创建存储过程的关键字是`CREATE PROCEDURE`。 2. 创建函数的关键字是`CREATE FUNCTION`。 3. 存储过程的调用需要使用`CALL`语句。 4. 存储过程的参数可以有IN、OUT和`INOUT`三种类型,而函数只能有IN一种类型。 5. 函数体中必须包含一个有效的`RETURN`语句。 6. 存储过程一般是作为一个独立部分来执行的,而函数可以作为查询语句的一个部分使用`SELECT`语句来调用。 7. 要查看存储过程和函数的状态信息可以使用关键字`SHOW PROCEDURE STATUS`或`SHOW FUNCTION STATUS`。 8. 要查看存储过程和函数的定义信息可以使用`SHOW CREATE PROCEDURE`或`SHOW CREATE FUNCTION`。 9. 在Command Line Client模式中,使用`ALTER PROCEDURE`或`ALTER FUNCTION`语句可以实现对MySQL中定义的存储过程和函数进行修改。 10. 在Command Line Client模式中,使用`DROP PROCEDURE`或`DROP FUNCTION`语句可以实现对MySQL中定义的存储过程和函数进行删除。 二、选择题 1. 正确答案:C. 对存储过程的修改相当于先删除原有存储过程,然后再重新创建。 2. 正确答案:D. 以上都正确,存储过程可以有任意数量的参数。 3. 最为常用的存储过程参数类型是`INOUT`,因为它允许输入和输出值。 4. 存储过程和函数的定义存放在`Information_schema`数据库中。 5. 错误的说法是D. 存储过程不需要声明返回类型,除非它是函数。 三、简答题 1. 存储过程是一组预编译的SQL语句,可封装成一个命名实体,供后续调用。函数则是一个能够接收参数,执行特定计算或操作,然后返回结果的预编译SQL语句集合。 2. 存储过程和函数的优点包括:提高性能(因为预编译),减少网络通信,增强安全性(通过权限控制),代码重用,以及简化复杂操作。 3. 存储过程和函数的主要区别在于:函数必须有返回值,而存储过程可以没有;函数可以直接在SELECT语句中使用,而存储过程需要通过CALL语句调用;函数的参数只能有IN类型,而存储过程支持IN、OUT和INOUT参数。 四、课外实践任务 任务一:在SQLyog中创建名为“Proc 选课人数”的存储过程,查询选修了“计算机文化基础”课程的学生人数,具体步骤需根据实际SQL语句编写。 任务二:在命令行模式下创建名为“Proc_出生日期”的存储过程,查询出生日期在1998年6月以后的学生信息,需编写相应的SQL语句并使用`CREATE PROCEDURE`。 任务三:在命令行模式下创建名为“func_学生成绩”的函数,输入学号和课程号,返回该学生的成绩,这需要使用`CREATE FUNCTION`语句,并确保包含`RETURN`语句。 以上内容详细介绍了与MySQL存储过程和函数相关的知识点,包括创建、调用、查看、修改和删除,以及它们之间的区别和优点。同时,也提供了三个实际操作的任务,帮助加深理解。