ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 4099|回复: 4

[每日一题] PL/SQL Challenge 每日一题:2017-7-28 视图的创建

[复制链接]
论坛徽章:
480
榜眼
日期:2015-09-09 10:34:21秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09
发表于 2017-8-2 02:15 | 显示全部楼层 |阅读模式

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

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

以往旧题索引:
http://www.itpub.net/forum.php?m ... eid&typeid=1808

原始出处:
http://www.plsqlchallenge.com/

作者:        Chris Saxon

运行环境:SQLPLUS, SERVEROUTPUT已打开
注:本题给出答案时候要求给予简要说明才能得到奖品

哪些选项创建了这个表和视图?

表名:QZ_TOYS
列名:TOY_ID INTEGER 主键
      TOY_NAME VARCHAR2(100)
      COLOUR VARCHAR2(30)


视图:QZ_TOYS_V 基于QZ_TOYS表
列名:TOY_ID INTEGER
      TOY_NAME VARCHAR2(100)
      COLOUR VARCHAR2(30)

(A)
create table qz_toys (
  toy_id   integer not null primary key ,
  toy_name varchar2(100) not null ,
  colour   varchar2(30) not null
);

create or replace view qz_toys_v as
  select * from qz_toys ;

(B)
create or replace view qz_toys_v as
  select * from qz_toys ;

create table qz_toys (
  toy_id   integer not null primary key ,
  toy_name varchar2(100) not null ,
  colour   varchar2(30) not null
);

(C)
create force view qz_toys_v as
  select * from qz_toys ;

create table qz_toys (
  toy_id   integer not null primary key ,
  toy_name varchar2(100) not null ,
  colour   varchar2(30) not null
);

(D)
create view qz_toys_v as
  select * from qz_toys
  with check option ;

create table qz_toys (
  toy_id   integer not null primary key ,
  toy_name varchar2(100) not null ,
  colour   varchar2(30) not null
);

论坛徽章:
4
秀才
日期:2017-08-11 15:38:46秀才
日期:2017-09-08 11:09:50秀才
日期:2017-09-25 15:10:28秀才
日期:2017-09-25 15:10:28
发表于 2017-8-2 08:19 | 显示全部楼层
AC          bd选项基表不存在  a正常创建语句 c加了force强制创建视图 不管视图可用不可用

使用道具 举报

回复
认证徽章
论坛徽章:
203
2010新春纪念徽章
日期:2010-03-01 11:20:51至尊黑钻
日期:2015-08-13 13:38:12至尊黑钻
日期:2015-02-15 09:47:472015中国数据库技术大会纪念徽章
日期:2015-05-15 14:08:23管理团队2007贡献徽章
日期:2015-01-19 09:48:272015年中国系统架构师大会纪念徽章
日期:2015-07-31 17:48:20红宝石
日期:2015-01-19 09:42:28红宝石
日期:2017-04-21 09:23:38海蓝宝石
日期:2015-02-03 10:23:39红宝石
日期:2015-02-03 10:26:04
发表于 2017-8-2 09:03 | 显示全部楼层
create force  view ,这个 force 在 imp 时,如果有无效的视图,从错误日志经常会看到;

使用道具 举报

回复
论坛徽章:
480
榜眼
日期:2015-09-09 10:34:21秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09
 楼主| 发表于 2017-8-3 03:09 | 显示全部楼层
答案AC, 2楼得奖。

A:(推荐)
这会在创建视图之前先创建表。所以你能够如愿创建两个对象。
B: 这会在创建表之前创建视图。因此ORACLE数据库不能够校验查询。创建视图会报错:
"ORA-00942: table or view does not exist"
C: 这会用FORCE选项强制创建视图。这会忽略对视图中的对象的检查。所以你能够创建它,并且当你创建了底层的表之后它会变得有效。
D: WITH CHECK OPTION子句应用于对视图的DML。它在创建时不起任何作用。所以创建视图失败:
"ORA-00942: table or view does not exist"

使用道具 举报

回复
论坛徽章:
0
发表于 2017-8-11 15:19 | 显示全部楼层
截止到今日每日一题奖励已发,辛苦newkid大师
本期从7-19到7-28期
每10期题目发一次奖,10期内获奖最多的再奖励一本技术图书~原有的秀才系列徽章继续根据兑换规则兑换礼品~
大家多多努力哦~
本期获奖情况如下(2017-3-28和2017-2-24期无人得奖)
只是甲
fatfoxz
Aquarius_Joe
fatfoxz
fatfoxz
wd10093588
wd10093588
却早已分离
恭喜fatfoxz 同学获得一本技术图书,图书徽章已发,可以到书单换任意一本~
各位其他童鞋继续加油哦~
得奖者
截止到今日每日一题奖励已发,辛苦newkid大师

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表