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.


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值