• <sup id="my82s"><source id="my82s"></source></sup>
  • <legend id="my82s"><div id="my82s"></div></legend>
    <li id="my82s"><tt id="my82s"></tt></li>
    <bdo id="my82s"><rt id="my82s"></rt></bdo>
  • 查看: 1149|回复: 1

    [每日一题] PL/SQL Challenge 每周一题:2022-11-19 PL/SQL 对象类型的数据类型属性(21C)

    [复制链接]
    论坛徽章:
    519
    奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
    跳转到指定楼层
    1#
    发表于 2022-12-5 23:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最 先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析、讨论也可获得纪念章一枚。

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

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

    原始出处:
    https://devgym.oracle.com/

    作者:Anthony Harper

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

    哪些选项定义了一个对象,可以编译不出错?

    (A)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder pls_integer
    );
    /

    (B)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder pls_integer
    ) not final;
    /

    (C)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder pls_integer
    ) not final not persistable;
    /

    (D)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder integer(1)
    );
    /

    (E)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder char(1)
    );
    /

    (F)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder pls_integer
    ) not persistable;
    /

    (G)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder pls_integer
    ) not final not instantiable;
    /

    (H)
    create or replace type quiz_order_detail_t is object
    (
        product_id integer,
        quantity number,
        on_backorder pls_integer
    ) not final not instantiable not persistable;
    /

    论坛徽章:
    519
    奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
    2#
     楼主| 发表于 2022-12-13 09:07 | 只看该作者
    答案CDEFH
    A:
    在21C, PLS_INTEGER属性是有效的属性类型,但是仅当对象是NOT PERSISTABLE的时候有效。

    对象类型缺省是PERSISTABLE的。这个代码编译会报错:

    PLS-00530: Illegal type used for object type attribute: 'PLS_INTEGER'.

    B:
    将一个对象类型标记为NOT FINAL和PERSISTABLE没有任何关系。

    这个选项编译会报错,导致非法类型的警告:

    PLS-00530: Illegal type used for object type attribute: 'PLS_INTEGER'.

    C:
    在21C, 如果对象类型是NOT PERSISTABLE,就可以用PLS_INTEGER属性来定义。

    D:
    所有属性都是SQL的数据类型,这可以编译而不会有任何问题。

    在21C之前,这个方法可以创建一个对象类型,带有一个表示布尔值的属性(此处是1或者0)

    E:
    所有属性都是SQL的数据类型,这可以编译而不会有任何问题。
    在21C之前,这个方法可以创建一个对象类型,带有一个表示布尔值的属性(此处是Y或者N)


    F:
    这个选项是正确的。在21C, 一个对象类型如果是NOT PERSISTABLE,就可以用PLS_INTEGER属性来定义。

    G:
    既然这个对象不能够被实例化,那么将它的一个实例持久化就十分的困难...但是它没有被标记为NOT PERSISTABLE,所以不能编译。

    这个选项编译的时候会报非法类型错误:

    PLS-00530: Illegal type used for object type attribute: 'PLS_INTEGER'.

    H:
    这个选项是正确的。 在21C, 如果对象类型是NOT PERSISTABLE,就可以用PLS_INTEGER属性来定义。

    使用道具 举报

    回复

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

    本版积分规则 发表回复

    TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
      ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
      ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
    CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
    京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
      
    快速回复 返回顶部 返回列表
    亚洲三级理论
  • <sup id="my82s"><source id="my82s"></source></sup>
  • <legend id="my82s"><div id="my82s"></div></legend>
    <li id="my82s"><tt id="my82s"></tt></li>
    <bdo id="my82s"><rt id="my82s"></rt></bdo>