oracle分区表之列表分区

SQL> -- Create test tableSQL> drop table list_partition_test;Table droppedSQL> create table list_partition_test 2 ( 3 empno NUMBER(4), 4 ename VARCHAR2(10), 5 job VARCHAR2(9), 6 mgr NUMBER(4), 7 hiredate DATE, 8 sal NUMBER(7,2), 9 comm NUMBER(7,2), 10 deptno NUMBER(2), 11 dt VARCHAR2(20) 12 ) 13 partition by list (DT) 14 ( 15 partition DT_PARTITION values (20180512, 20180513, 20180514, 20180515) 16 );Table createdSQL> --添加数据SQL> begin 2 for i in 20180512..20180515 loop 3 insert into list_partition_test select t.*,i from scott.emp t; 4 end loop; 5 end; 6 /PL/SQL procedure successfully completedSQL> --用分区字段筛选查询SQL> select * 2 from list_partition_test 3 where dt = 20180515;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DT----- ---------- --------- ----- ----------- --------- --------- ------ -------------------- 7369 SMITH CLERK 7902 1980/12/17 800.00 20 20180515 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30 20180515 7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30 20180515 7566 JONES MANAGER 7839 1981/4/2 2975.00 20 20180515 7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30 20180515 7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30 20180515 7782 CLARK MANAGER 7839 1981/6/9 2450.00 10 20180515 7788 SCOTT ANALYST 7566 1987/4/19 3000.00 20 20180515 7839 KING PRESIDENT 1981/11/17 5000.00 10 20180515 7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30 20180515 7876 ADAMS CLERK 7788 1987/5/23 1100.00 20 20180515 7900 JAMES CLERK 7698 1981/12/3 950.00 30 20180515 7902 FORD ANALYST 7566 1981/12/3 3000.00 20 20180515 7934 MILLER CLERK 7782 1982/1/23 1300.00 10 2018051514 rows selected

 

相关文章