Automatisierte Partitionierung mit timestamp

Ich möchte meine partition-Tabelle (Oracle -) automatisiert auf einer täglichen basis.

Habe ich nur eine Timestamp-Spalte gegeben:

 DD.MM.YYYY HH24:MI:SS

Bisher fand ich dies, aber es funktioniert nicht:

create table 
pos_data ( 
    start_date        DATE,
    store_id          NUMBER,
    inventory_id      NUMBER(6),
    qty_sold          NUMBER(3),
 ) 
 PARTITION BY RANGE (start_date) 
 INTERVAL(NUMTOYMINTERVAL(1, 'MONTH')) 
 (  
  PARTITION pos_data_p2 VALUES LESS THAN (TO_DATE('1-7-2007', 'DD-MM-YYYY')),
  PARTITION pos_data_p3 VALUES LESS THAN (TO_DATE('1-8-2007', 'DD-MM-YYYY')) 
 ); 

Mit diesem Beispiel erhalte ich die Invalid Id Fehler... und ich weiß nicht, ob ein Timestamp macht einen Unterschied zu einer date-Spalte.

Antwort:

create table 
pos_data_two ( 
    start_date        TIMESTAMP,
    store_id          NUMBER,
    inventory_id      NUMBER(6),
    qty_sold          NUMBER(3)
 ) 
 PARTITION BY RANGE (start_date) 
 INTERVAL(NUMTODSINTERVAL (1, 'DAY')) 
 (  
  PARTITION pos_data_p2 VALUES LESS THAN (TO_DATE('1-7-2007', 'DD-MM-YYYY')),
  PARTITION pos_data_p3 VALUES LESS THAN (TO_DATE('1-8-2007', 'DD-MM-YYYY')) 
 ); 
InformationsquelleAutor user2428207 | 2013-10-30
Schreibe einen Kommentar