OCP-1Z0-053-V12.02-54题

54.Evaluate the following function code:

CREATE FUNCTION get_dept_avg(dept_id NUMBER) RETURN NUMBER RESULT_CACHE

RELIES_ON

(EMPLOYEES) IS avgsal NUMBER(6);

BEGIN

SELECT AVG(SALARY)INTO avgsal

FROM EMPLOYEES

WHERE DEPARTMENT_ID = dept_id;

RETURN avgsal;

END get_dept_avg;

Which statement is true regarding the above function?

A. The cached result becomes invalid when any structural change is done to the EMPLOYEES table.

B. If the function execution results in an unhandled exception, the exception result is also stored in the

cache.

C. Each time the function is invoked in a different session, the current result in the result cache gets

overwritten.

D. If the function is invoked with a different parameter value, the existing result in the result cache gets

overwritten by the latest value.

Answer: A



Enabling Result-Caching for a Function

To make a function result-cached, include the RESULT_CACHE clause in the function definition. (If you declare the function before defining it, you must also include the RESULT_CACHE option in the function declaration.)

In Example 8-37, the package department_pkg declares and then defines a result-cached function, get_dept_info, which returns a record of information about a given department. The function depends on the database tables DEPARTMENTS and EMPLOYEES.

Example 8-37 Declaring and Defining Result-Cached Function

CREATE OR REPLACE PACKAGE department_pkg IS
 
  TYPE dept_info_record IS RECORD (
    dept_name  departments.department_name%TYPE,
    mgr_name   employees.last_name%TYPE,
    dept_size  PLS_INTEGER
  );
 
 
-- Function declaration
 
  FUNCTION get_dept_info (dept_id PLS_INTEGER)
    RETURN dept_info_record
 
RESULT_CACHE
;
 
END department_pkg;
/
CREATE OR REPLACE PACKAGE BODY department_pkg IS
 
-- Function definition
  FUNCTION get_dept_info (dept_id PLS_INTEGER)
    RETURN dept_info_record
 
RESULT_CACHE RELIES_ON (DEPARTMENTS, EMPLOYEES)
  IS
    rec  dept_info_record;
  BEGIN
    SELECT department_name INTO rec.dept_name
    FROM departments
    WHERE department_id = dept_id;
 
    SELECT e.last_name INTO rec.mgr_name
    FROM departments d, employees e
    WHERE d.department_id = dept_id
    AND d.manager_id = e.employee_id;
 
    SELECT COUNT(*) INTO rec.dept_size
    FROM EMPLOYEES
    WHERE department_id = dept_id;
 
    RETURN rec;
  END get_dept_info;
END department_pkg;
/

You invoke the function get_dept_info as you invoke any function. For example, this invocation returns a record of information about department number 10:

department_pkg.get_dept_info(10);

This invocation returns only the name of department number 10:

department_pkg.get_dept_info(10).department_name;

If the result for get_dept_info(10) is in the result cache, the result is returned from the cache; otherwise, the result is computed and added to the cache. Because get_dept_info depends on the DEPARTMENTS and EMPLOYEES tables, any committed change to DEPARTMENTS or EMPLOYEES invalidates all cached results forget_dept_inforelieving you of programming cache invalidation logic everywhere that DEPARTMENTS or EMPLOYEES might change.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 数据库MySQL OCP 8.0 1Z0-908库是针对MySQL数据库的认证考试的相关库。MySQL是一种开源的关系型数据库管理系统,OCP 8.0是指MySQL的最新版本,1Z0-908则是该版本的认证考试代码。 这个库包含了考试中可能遇到的各种目,涵盖了MySQL数据库的各个方面,包括数据库的基本原理、SQL编程语言、索引、事务管理、备份与恢复等等。 通过学习这个库,可以增强对MySQL数据库的理解和应用能力。掌握MySQL数据库的基本原理可以帮助我们了解数据库管理系统的工作原理,进而能够更好地进行数据库设计和管理。 同时,学习SQL编程语言可以帮助我们掌握MySQL数据库的增删改查等基本操作,以及高级的查询和数据处理技巧。 此外,掌握索引的原理和使用方法可以提高查询的效率,事务管理的学习可以帮助我们保证数据的一致性和完整性,备份与恢复的学习可以帮助我们保护数据免受损失。 总而言之,通过学习数据库MySQL OCP 8.0 1Z0-908库,可以全面提升对MySQL数据库的掌握程度,为日后的数据库开发和管理工作打下坚实的基础。 ### 回答2: 很高兴能回答关于数据库MySQL OCP 8.0 1Z0-908库的问。 首先,MySQL OCP 8.0 1Z0-908库是MySQL数据库相关的认证考试,旨在评估考生在MySQL数据库开发方面的专业能力和知识水平。 这个库涵盖了广泛的MySQL数据库知识,包括SQL语法、数据库管理、数据查询、数据操作、性能优化等方面的内容。考生需要通过这些目来展示他们对MySQL数据库的理解能力和实践经验。考试内容丰富多样,从基础知识到高级技术都有涉及。 通过准备MySQL OCP 8.0 1Z0-908库,考生可以更好地掌握MySQL数据库的相关知识,并具备一定的实践能力。这对于那些在数据库开发、数据管理、数据分析等领域工作的人来说尤为重要。 此外,MySQL数据库广泛应用于各行各业,包括互联网、电商、金融、医疗等各个领域,因此具备MySQL OCP 8.0 1Z0-908认证的考生,在职业发展中将具备更强的竞争力。 总结起来,MySQL OCP 8.0 1Z0-908库是提升个人职业素质和专业能力的一个重要途径。我们可以通过系统地学习和准备这个库,进一步提高对MySQL数据库的理解和应用能力,为自己的职业发展打下坚实的基础。 ### 回答3: 老哥,你好!关于数据库MySQL OCP 8.0 1Z0-908库的问,我来给你详细解答。 MySQL OCP 8.0 1Z0-908库是一套关于MySQL数据库的认证库,专门针对MySQL 8.0版本的OCP考试。这套库包含了一系列问和练习,旨在测试考生对MySQL数据库的理解和应用能力。 在MySQL OCP 8.0 1Z0-908库中,你将接触到各种与MySQL数据库有关的主,包括数据库设计、表的创建、数据类型的选择、查询语句的优化、索引的使用、事务处理、存储过程、触发器等等。这些问旨在考验你对MySQL数据库各个方面的了解和运用能力。 通过参与MySQL OCP 8.0 1Z0-908库的学习和练习,你可以提升你的MySQL数据库技能,更好地理解和应用MySQL数据库,进而在OCP考试中取得好的成绩。这套库可以帮助你检验你的学习成果,让你更加熟悉MySQL数据库的各种特性和操作。 总之,MySQL OCP 8.0 1Z0-908库是一套有针对性的MySQL数据库认证库,通过参与这套库的学习和练习,可以加深对MySQL数据库的理解和应用技能。希望这个回答对你有帮助,如果还有其他问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值