OCP10G题库1:PL/SQL函数调用详解

需积分: 10 2 下载量 81 浏览量 更新于2024-09-27 收藏 1.4MB PDF 举报
本资源提供的是OCP10G题库1的一部分,专注于Oracle9i编程与PL/SQL的知识点。题目涉及到了函数(FUNCTION)的使用和调用,具体是关于名为`CALC_PLAYER_AVG`的函数。该函数接收一个参数`V_ID`,类型为`PLAYER_BAT_STAT.PLAYER_ID%TYPE`,并返回一个`NUMBER`类型的平均值,通过计算球员的击球得分除以打击次数。 在提供的选项中: A. `SELECT CALC_PLAYER_AVG(PLAYER_ID) FROM PLAYER_BAT_STAT;` 这是不正确的,因为`SELECT`语句用于查询数据,而不是调用函数。在SQL*Plus中,函数通常被调用并返回值,而不是作为查询的一部分。 B. `EXECUTE CALC_PLAYER_AVG(31);` 这个选项也是错误的,尽管它试图调用函数,但根据描述,正确的方式是不能直接使用`EXECUTE`来调用函数,因为`EXECUTE`通常用于执行存储过程,而非函数。对于函数,应该使用`RETURN`语句直接获取结果。 C. `CALC_PLAYER('RUTH');` 此选项同样不正确,因为它可能是调用一个不同的函数或方法,这里没有提到名为`CALC_PLAYER`的函数。 D. `CALC_PLAYER_AVG(31);` 这是唯一正确的答案。在SQL*Plus中,要成功调用`CALC_PLAYER_AVG`函数并获取其结果,你应该直接传递参数`V_ID`,这里是数字31,因为`V_ID`是输入参数类型为`PLAYER_BAT_STAT.PLAYER_ID%TYPE`。 E. `START CALC_PLAYER_AVG(31)` 这个选项不常见,`START`不是PL/SQL中的关键词,可能是一个误拼或误解。正确的调用应该是`CALC_PLAYER_AVG(31)`。 总结来说,本题考查了PL/SQL函数的正确调用语法,以及理解SQL*Plus中的命令用法,特别是区分函数调用与存储过程调用的区别。在实际考试中,考生需要熟练掌握如何正确传递参数并利用函数的返回值。同时,了解SQL*Plus的变量管理和赋值操作也是关键,以便在遇到类似问题时能做出准确判断。