【发布时间】:2010-11-25 12:32:43
【问题描述】:
大家好 我正在尝试在这里自动化分区过程,并且很好地解决了一些奇怪的问题。 为什么以下工作不起作用?
create table flp_aa (cdate date, value varchar2(255))
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64M
)
LOGGING
PARTITION BY RANGE (cdate)
(
PARTITION flp_aa_1010 VALUES LESS THAN (last_day(to_date('20101101', 'YYYYMMDD')))
NOLOGGING
NOCOMPRESS
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64M
NEXT 512K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
)
这个想法是使用last_day(to_date('20101101', 'YYYYMMDD')),这样每个漂亮的分区都会在那个月的最后一天结束,每个人都很开心。但是,当我尝试执行该代码时,我得到一个 ORA-14019...
[更新]
真奇怪:
这个作品:
(...)
PARTITION flp_aa_1010 VALUES LESS THAN (to_date('20101101', 'YYYYMMDD'))
(...)
这不起作用:
(...)
PARTITION flp_aa_1010 VALUES LESS THAN (last_day(to_date('20101101', 'YYYYMMDD')))
(...)
而且这不会再:
(...)
PPARTITION flp_aa_1010 VALUES LESS THAN to_date(last_day(to_date('201010','YYYYMM'))))
(...)
什么鸭子?我错过了哪节课? 所有这些函数的输出不都一样吗?
有人能告诉我吗?
干杯
f.
【问题讨论】:
标签: oracle date partitioning