oracle中treat函数,PL/SQL Challenge 每日一题:2016-3-24 面向对象编程:向下转型TREAT...
最先答对且答案未经编辑的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...相关推荐
- Oracle 集合转字符,PL/SQL Challenge 每日一题:2014-5-30 将逗号隔开的字符串转换为集合...
最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 以往旧题索引: http://www.itpub.net ...
- oracle占位符怎么打,PL/SQL Challenge 每日一题:2018-7-11 动态SQL中的占位符
最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得itpub奖励的技术图书一本. 以往 ...
- lateral函数oracle,PL/SQL Challenge 每日一题:2017-7-20 12c新功能:Lateral 内联视图
最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得itpub奖励的技术图书一本. 以往 ...
- oracle套嵌游标写法,PL/SQL Challenge 每日一题:2017-1-18 嵌套游标
最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得itpub奖励的技术图书一本. 以往 ...
- oracle dbms_sql.describe_columns,PL/SQL Challenge 每日一题:2017-3-6 DBMS_SQL.DESCRIBE_COLUMNS
(原发表于 2011-6-20) 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析.讨论也可获得纪念章一枚. 每两周的优胜者可获得i ...
- oracle中prad函数_024 SQL函数
1. 使用ORDER BY排序 (1) ORDER BY 子句的作用是什么? 用ORDER BY子句排序. 用于对结果集进行排序处理,提供了升序排序(ASC)与降序排序(DESC)如果不指定排序规则默 ...
- oracle中各种函数,oracle中常用函数大全
1.数值型常用函数 函数 返回值 样例 显示 ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数 s ...
- oracle中next_day()函数解析
oracle中next_day()函数解析 Sql代码 当前系统时间的下一星期一的时间select next_day(sysdate,1) from dual NEXT_DAY(date,char ...
- Oracle 12c中增强的PL/SQL功能
英文链接:http://www.oracle.com/technetwork/issue-archive/2013/13-sep/o53plsql-1999801.html Oracle 12c增强了 ...
最新文章
- 分类问题-样本权重(sample_weight)和类别权重(class_weight)
- 三星s7android7,三星S7/S7 Edge国行成功吃上牛轧糖 今日升级安卓7.0
- java stringbuffer原理_String,StringBuilder,StringBuffer 实现原理解析
- 学起来 —— CSS 入门基础
- 程序员怎么样保证自己的程序没有BUG
- WSAAccept()函数使用解析
- java 以太坊 智能合约_web3j教程:java使用web3j开发以太坊智能合约交易
- mysql索引类型 优劣_Mysql索引的类型和优缺点详解
- 腾讯校园招聘笔试 2019-8-17 第四题 另一种解法
- 计算机基础应用教材分析,关于《计算机应用基础》的说课稿一、教材分析(说教材):.pdf...
- CCS安装多版本编译器 Compiler version__更新手动下载、安装方法
- 服务器显示RL011,台达伺服驱动器维修之AL011故障原因和方法
- java笔试试题含答案_Java笔试题带答案
- java毕业设计网站ssm医院医药药品管理系统
- TML5期末大作业:咖啡网站设计——咖啡网站pc端带轮播js (5页) 学生酒水网页作业, 生鲜水果网页作业成品, 零食小吃网页作 美食网页业模板
- best-time-to-buy-and-sell-stock
- android 4.4 电池电量管理底层分析(C\C++层)
- Calendars and DateFormats should not be static
- 小米校招编程题:数组乘积、异形数、朋友圈
- 微信小程序打开红包的css_微信小程序 css使用技巧总结
热门文章
- 手机游戏:崇尚简单至上和零碎娱乐的永恒价值
- java: 无法将类com.aaa.xxx中的构造器xxx应用到给定类型
- 分布式系统和网络系统
- can通讯bdc_纯电动汽车网络总线 数据通信网络连接系统介绍
- 《计算机操作系统》复习提纲
- 使用dba_waiters检查锁等待
- Y7000 2018版(I7-8650H 1050T)黑苹果安装攻略附带工具安装包
- Flutter——Dio网络库的使用与封装
- 基于Java+Swing实现天气预报系统
- 【技术分享】迅为i.MX6ULL开发板-Uboot-Logo修改方法