Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Partitioning table on Oracle 8
<kerbiquet_at_hotmail.com> wrote in message news:852bd6$tei$1_at_nnrp1.deja.com...
> On Oracle 8.0.6,
> is that possible to create a table with a partitioning key on two
> columns:
Yes.
> 1 VARCHAR2 column and 1 DATE column?
>
> If I create
> CREATE TABLE sales
> (NAME VARCHAR2(10),
> DAY DATE,
> TEXT VARCHAR2(40))
> PARTITION BY RANGE(NAME,MONTH)
> PARTITION JOHN_JAN VALUES LESS THAN ('JOHN',TO_DATE('2000-01','YYYY-MM')
> PARTITION JOHN_FEB VALUES LESS THAN ('JOHN',TO_DATE('2000-02','YYYY-MM')
> PARTITION JACK_JAN VALUES LESS THAN ('JACK',TO_DATE('2000-01','YYYY-MM')
>
> In which partition goes VALUES('JOHN',TO_DATE('2000-02','YYYY-MM')?
None, since your partition assignment is wrong. You must assign the value list in ascending order. There is some other syntax error, you should use:
create table sales (name varchar2(10), day date, text varchar2(40)) partition by range (name, month)
(partition jack_kan values less than ('JACK', to_date('2000-01', 'YYYY-MM'), partition john_jan values less than ('JOHN', to_date('2000-01', 'YYYY-MM'), partition john_feb values less than ('JOHN', to_date('2000-02', 'YYYY-MM'), partition last_partition values less than (maxvalue, maxvalue));
The values ('JOHN',TO_DATE('2000-02','YYYY-MM')) will be in the last_partition. If you don't define the partition with the maxvalue upper-bound, you can't insert the record with values ('JOHN',TO_DATE('2000-02','YYYY-MM')). Received on Fri Jan 07 2000 - 09:28:32 CST
![]() |
![]() |