最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析、讨论也可获得纪念章一枚。

每两周的优胜者可获得itpub奖励的技术图书一本。

以往旧题索引:

http://www.itpub.net/forum.php?m ... eid&typeid=1808

原始出处:

http://www.plsqlchallenge.com/

作者:Steven Feuerstein

运行环境:SQLPLUS, SERVEROUTPUT已打开

注:本题给出答案时候要求给予简要说明才能得到奖品

我执行了这些语句:

CREATE TYPE plch_food_t AS OBJECT

(

name VARCHAR2 (100),

food_group VARCHAR2 (100),

grown_in VARCHAR2 (100)

)

NOT FINAL;

/

CREATE TYPE plch_dessert_t

UNDER plch_food_t

(

contains_chocolate CHAR (1),

year_created NUMBER (4)

)

NOT FINAL;

/

CREATE TYPE plch_cake_t

UNDER plch_dessert_t

(

diameter NUMBER,

inscription VARCHAR2 (200)

);

/

CREATE TABLE meals

(

served_on     DATE,

appetizer     plch_food_t,

main_course   plch_food_t,

dessert       plch_dessert_t

);

BEGIN

INSERT INTO meals

VALUES (SYSDATE + 1,

plch_food_t ('Shrimp cocktail', 'PROTEIN', 'Ocean'),

plch_food_t ('Stir fry tofu', 'PROTEIN', 'Vat'),

plch_cake_t ('Apple Pie',

'FRUIT',

'Baker''s Square',

'N',

2001,

8,

NULL));

INSERT INTO meals

VALUES (SYSDATE + 1,

plch_food_t ('Fried Calamari', 'PROTEIN', 'Ocean'),

plch_dessert_t ('Butter cookie',

'CARBOHYDRATE',

'Oven',

'N',

2001),

plch_cake_t ('French Silk Pie',

'CARBOHYDRATE',

'Baker''s Square',

'Y',

2001,

6,

'To My Favorite Frenchman'));

INSERT INTO meals

VALUES (SYSDATE + 1,

plch_food_t ('Fried Calamari', 'PROTEIN', 'Ocean'),

plch_cake_t ('French Silk Pie',

'CARBOHYDRATE',

'Baker''s Square',

'Y',

2001,

6,

'To My Favorite Frenchman'),

plch_dessert_t ('Butter cookie',

'CARBOHYDRATE',

'Oven',

'N',

2001));

END;

/

哪些选项在执行之后会导致下列两行被显示(两行的顺序无关紧要)?

Butter cookie-N

French Silk Pie-Y

(A)

BEGIN

FOR rec IN (SELECT *

FROM meals

WHERE TREAT (main_course AS plch_dessert_t) IS NOT NULL)

LOOP

DBMS_OUTPUT.put_line (

rec.main_course.name || '-' ||

rec.main_course.contains_chocolate);

END LOOP;

END;

/

(B)

DECLARE

l_dessert   plch_dessert_t;

BEGIN

FOR rec IN (SELECT * FROM meals)

LOOP

BEGIN

l_dessert := TREAT (rec.main_course AS plch_dessert_t);

DBMS_OUTPUT.put_line (

l_dessert.name || '-' || l_dessert.contains_chocolate);

EXCEPTION

WHEN VALUE_ERROR

THEN

NULL;

END;

END LOOP;

END;

/

(C)

BEGIN

FOR rec IN (SELECT * FROM meals)

LOOP

DBMS_OUTPUT.put_line (

CASE

WHEN rec.main_course.contains_chocolate IS NOT NULL

THEN

rec.main_course.name

|| '-'

|| rec.main_course.contains_chocolate

ELSE

NULL

END);

END LOOP;

END;

/

(D)

BEGIN

FOR rec IN (SELECT *

FROM meals

WHERE TREAT (main_course AS plch_dessert_t) IS NOT NULL)

LOOP

DBMS_OUTPUT.put_line (

rec.main_course.name || '-' ||

rec.TREAT (rec.main_course AS plch_dessert_t).contains_chocolate);

END LOOP;

END;

/

(E)

DECLARE

l_dessert   plch_dessert_t;

BEGIN

FOR rec IN (SELECT *

FROM meals

WHERE TREAT (main_course AS plch_dessert_t) IS NOT NULL)

LOOP

l_dessert := TREAT (rec.main_course AS plch_dessert_t);

DBMS_OUTPUT.put_line (

rec.main_course.name || '-' ||

l_dessert.contains_chocolate);

END LOOP;

END;

/

oracle中treat函数,PL/SQL Challenge 每日一题:2016-3-24 面向对象编程:向下转型TREAT...相关推荐

  1. Oracle 集合转字符,PL/SQL Challenge 每日一题:2014-5-30 将逗号隔开的字符串转换为集合...

    最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 以往旧题索引: http://www.itpub.net ...

  2. oracle占位符怎么打,PL/SQL Challenge 每日一题:2018-7-11 动态SQL中的占位符

    最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得itpub奖励的技术图书一本. 以往 ...

  3. lateral函数oracle,PL/SQL Challenge 每日一题:2017-7-20 12c新功能:Lateral 内联视图

    最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得itpub奖励的技术图书一本. 以往 ...

  4. oracle套嵌游标写法,PL/SQL Challenge 每日一题:2017-1-18 嵌套游标

    最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得itpub奖励的技术图书一本. 以往 ...

  5. oracle dbms_sql.describe_columns,PL/SQL Challenge 每日一题:2017-3-6 DBMS_SQL.DESCRIBE_COLUMNS

    (原发表于 2011-6-20) 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得i ...

  6. oracle中prad函数_024 SQL函数

    1. 使用ORDER BY排序 (1) ORDER BY 子句的作用是什么? 用ORDER BY子句排序. 用于对结果集进行排序处理,提供了升序排序(ASC)与降序排序(DESC)如果不指定排序规则默 ...

  7. oracle中各种函数,oracle中常用函数大全

    1.数值型常用函数 函数 返回值 样例 显示 ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数 s ...

  8. oracle中next_day()函数解析

    oracle中next_day()函数解析 Sql代码 当前系统时间的下一星期一的时间select   next_day(sysdate,1) from dual NEXT_DAY(date,char ...

  9. Oracle 12c中增强的PL/SQL功能

    英文链接:http://www.oracle.com/technetwork/issue-archive/2013/13-sep/o53plsql-1999801.html Oracle 12c增强了 ...

最新文章

  1. 分类问题-样本权重(sample_weight)和类别权重(class_weight)
  2. 三星s7android7,三星S7/S7 Edge国行成功吃上牛轧糖 今日升级安卓7.0
  3. java stringbuffer原理_String,StringBuilder,StringBuffer 实现原理解析
  4. 学起来 —— CSS 入门基础
  5. 程序员怎么样保证自己的程序没有BUG
  6. WSAAccept()函数使用解析
  7. java 以太坊 智能合约_web3j教程:java使用web3j开发以太坊智能合约交易
  8. mysql索引类型 优劣_Mysql索引的类型和优缺点详解
  9. 腾讯校园招聘笔试 2019-8-17 第四题 另一种解法
  10. 计算机基础应用教材分析,关于《计算机应用基础》的说课稿一、教材分析(说教材):.pdf...
  11. CCS安装多版本编译器 Compiler version__更新手动下载、安装方法
  12. 服务器显示RL011,台达伺服驱动器维修之AL011故障原因和方法
  13. java笔试试题含答案_Java笔试题带答案
  14. java毕业设计网站ssm医院医药药品管理系统
  15. TML5期末大作业:咖啡网站设计——咖啡网站pc端带轮播js (5页) 学生酒水网页作业, 生鲜水果网页作业成品, 零食小吃网页作 美食网页业模板
  16. best-time-to-buy-and-sell-stock
  17. android 4.4 电池电量管理底层分析(C\C++层)
  18. Calendars and DateFormats should not be static
  19. 小米校招编程题:数组乘积、异形数、朋友圈
  20. 微信小程序打开红包的css_微信小程序 css使用技巧总结

热门文章

  1. 手机游戏:崇尚简单至上和零碎娱乐的永恒价值
  2. java: 无法将类com.aaa.xxx中的构造器xxx应用到给定类型
  3. 分布式系统和网络系统
  4. can通讯bdc_纯电动汽车网络总线 数据通信网络连接系统介绍
  5. 《计算机操作系统》复习提纲
  6. 使用dba_waiters检查锁等待
  7. Y7000 2018版(I7-8650H 1050T)黑苹果安装攻略附带工具安装包
  8. Flutter——Dio网络库的使用与封装
  9. 基于Java+Swing实现天气预报系统
  10. 【技术分享】迅为i.MX6ULL开发板-Uboot-Logo修改方法