SQL> edit
已写入 file afiedt.buf
1 create table partition_by_range(subject varchar2(20),achivement number,examtime date) partition by range(examtime)
2 (partition part_06 values less than (to_date('20061231','yyyymmdd')),
3 partition part_07 values less than (to_date('20071231','yyyymmdd'))
4* )
SQL> /
表已创建。
SQL> create index partition_by_range_idx on partition_by_range(examtime)
2 local
3 (partition idx_06 ,partition idx_07);
索引已创建。
SQL> insert into partition_by_range values ('语文',80,to_date('20060601','yyyymmdd'));
已创建 1 行。
SQL> insert into partition_by_range values ('语文',89,to_date('20070601','yyyymmdd'));
已创建 1 行。
SQL> commit;
提交完成。
SQL> create table range_normal (subject varchar2(20),archivement number,examtime date);
表已创建。
SQL> insert into range_normal values ('数学',99,to_date('20060602','yyyymmdd'));
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from partition_by_range
2 ;
SUBJECT ACHIVEMENT EXAMTIME
-------------------- ---------- --------------
语文 80 01-6月 -06
语文 89 01-6月 -07
SQL> select * from range_normal;
SUBJECT ARCHIVEMENT EXAMTIME
-------------------- ----------- --------------
数学 99 02-6月 -06
SQL> alter table partition_by_range exchange partition part_06 with range_normal validation;
alter table partition_by_range exchange partition part_06 with range_normal validation
*
第 1 行出现错误:
ORA-00966: 缺失 TABLE 关键字
SQL> alter table partition_by_range exchange partition part_06 with table range_normal validation;
alter table partition_by_range exchange partition part_06 with table range_normal validation
*
第 1 行出现错误:
ORA-14094: 无效的 ALTER TABLE EXCHANGE PARTITION 选项
SQL> alter table partition_by_range exchange partition part_06 with table range_normal with validation;
表已更改。
SQL> select * from partition_by_range;
SUBJECT ACHIVEMENT EXAMTIME
-------------------- ---------- --------------
数学 99 02-6月 -06
语文 89 01-6月 -07
SQL> select * from range_normal;
SUBJECT ARCHIVEMENT EXAMTIME
-------------------- ----------- --------------
语文 80 01-6月 -06
SQL> spool off;