• OCP-1Z0-053-V12.02-17题


    17.The INV_HISTORY table is created using the command:

    SQL>CREATE TABLE INV_HISTORY (inv_no NUMBER(3), inv_date DATE, inv_amt NUMBER(10,2))

    partition by range (inv_date) interval (numtoyminterval(1,'month'))

     (partition p0 values less than (to_date('01-01-2005','dd-mm-yyyy')), 

    partition p1 values less than (to_date('01-01-2006','dd-mm-yyyy')));


    The following data has been inserted into the INV_HISTORY table :

    INV_NO INV_DATE INV_AMT 

    1 30-dec-2004 1000 

    2 30-dec-2005 2000 

    3 1-feb-2006 3000 

    4 1-mar-2006 4000 

    5 1-apr-2006 5000

    You would like to store the data belonging to the year 2006 in a single partition and issue the command:

    SQL> ALTER TABLE inv_history MERGE PARTITIONS

    FOR(TO_DATE('15-feb-2006','dd-mon-yyyy')), FOR(TO_DATE('15-apr-2006')) INTO PARTITION sys_py;

    What would be the outcome of this command?

    A. It executes successfully, and the transition point is set to '1-apr-2006'.

    B. It executes successfully, and the transition point is set to '15-apr-2006'.

    C. It produces an error because the partitions specified for merging are not adjacent.

    D. It produces an error because the date values specified in the merge do not match the date values

    stored in the table.

    Answer: C

    答案解析:

    参考实验:

    sys@TEST1107> CREATE TABLE INV_HISTORY (inv_no NUMBER(3), inv_date DATE, inv_amt NUMBER(10,2))

      2  partition by range (inv_date) interval (numtoyminterval(1,'month'))

      3  (partition p0 values less than (to_date('01-01-2005','dd-mm-yyyy')),

      4  partition p1 values less than (to_date('01-01-2006','dd-mm-yyyy')));


    Table created.


    sys@TEST1107> insert into INV_HISTORY values (1,'30-dec-2004',1000);  


    1 row created.


    sys@TEST1107> insert into INV_HISTORY values (2,'30-dec-2005',2000);


    1 row created.


    sys@TEST1107> insert into INV_HISTORY values (3,'1-feb-2006',3000);


    1 row created.


    sys@TEST1107> insert into INV_HISTORY values (4,'1-mar-2006',4000);


    1 row created.


    sys@TEST1107> insert into INV_HISTORY values (5,'1-apr-2006',5000);


    1 row created.


    sys@TEST1107> select * from INV_HISTORY;


        INV_NO INV_DATE              INV_AMT

    ---------- ------------------ ----------

             1 30-DEC-04                1000

             2 30-DEC-05                2000

             3 01-FEB-06                3000

             4 01-MAR-06                4000

             5 01-APR-06                5000


    sys@TEST1107> select * from INV_HISTORY partition(p0);

        INV_NO INV_DATE              INV_AMT
    ---------- ------------------ ----------
             1 30-DEC-04                1000

    sys@TEST1107> select * from INV_HISTORY partition(p1);

        INV_NO INV_DATE              INV_AMT
    ---------- ------------------ ----------
             2 30-DEC-05                2000

    sys@TEST1107> ALTER TABLE inv_history MERGE PARTITIONS
      2  FOR(TO_DATE('15-feb-2006','dd-mon-yyyy')), FOR(TO_DATE('15-apr-2006')) INTO PARTITION sys_py;
    ALTER TABLE inv_history MERGE PARTITIONS
    *
    ERROR at line 1:
    ORA-14274: partitions being merged are not adjacent

    INTERVAL Clause

    Use this clause to establish interval partitioning for the table. Interval partitions are partitions based on a numeric range or datetime interval. They extend range partitioning by instructing the database to create partitions of the specified range or interval automatically when data inserted into the table exceeds all of the range partitions.


  • 相关阅读:
    求得分除以总分的百分比
    考试用时存入秒数,最后用方法转换一成这种格式 (00:00:00)
    微信生成二维码 只需一个网址即刻 还有jquery生成二维码
    微信公众号整套逻辑的支付和退款
    thinkphp 无限极 评论
    新版谷歌浏览器怎么查找和改变编码格式 IT开发人员谷歌的编码格式
    【bzoj2199】[Usaco2011 Jan] 奶牛议会
    BZOJ1997 [Hnoi2010]Planar (2-sat)
    uvalive 3211 Now or later
    codeforce 660D Number of Parallelograms
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13316373.html
Copyright © 2020-2023  润新知