|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Bonsoir,
En Oracle 9i je voudrais créer une table partitionnée par range, sur une valeur de clé XY que je récupère dans une table paramètre en début de traitement. Cette valeur me permet selon le cas, soit de rajouter une partition à ma table, soit de vider la dernière partition présente puis la renommer avec la nouvelle valeur XY lue sur la table paramètre. Ce qui donne soit un alter table add partition XY+1, ou alors un truncate table partition XY-1 puis un alter table rename partition rename XY-1 to XY Pouvez vous m'aider à trouver les bons DDL et m'alerter sur les problèmes que cela pourrait engendrer, ou pire l'infaisabilité de la solution. Merci |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Bonjour,
Merci pour le lien. D'aprés la doc je pourrais créer une table partitionnée par mois et j'aimerais pour chaque partition définir des subpartition par liste sur la valeur du jour dans le mois (partition). Seulement j'ai un problème comment faire pour isoler la valeur du mois et la valeur du jour dans une zone déclarée date. Merci pour votre aide |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
merci ,
En revanche ce que je n'arrive pas à savoir c'est si je peux créer une table telle que Code :
Merci pour votre aide |
||
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
j'ai modifié l'ordre de création par ceci
CREATE TABLE testdate ( empno number, deptno number, hiredate date, salary number) PARTITION BY RANGE (hiredate) SUBPARTITION BY LIST (hiredate) (PARTITION janvier VALUES LESS THAN (to_date('01-02-08','DD-MM-YY')) SUBPARTITION jour1 VALUES ('01'), SUBPARTITION jour2 VALUES ('02'), SUBPARTITION jour3 VALUES ('03'), SUBPARTITION jour4 VALUES ('04')), PARTITION fevrier VALUES LESS THAN (to_date('01-03-08','DD-MM-YY')) (SUBPARTITION jour1 VALUES ('01'), SUBPARTITION jour2 VALUES ('02'), SUBPARTITION jour3 VALUES ('03'), SUBPARTITION jour4 VALUES ('04')) ) tablespace tools; mais malheureusement j'obtiens cette erreur SQL> @create-table.sql SUBPARTITION jour1 VALUES ('01'), * ERROR at line 9: ORA-14020: this physical attribute may not be specified for a table partition Pensez vous qu'il n'est pas possible de créer une partition sur le mois et des subpartition sur le jour déclaré en liste????? |
|
|
00
|
|
|
#7 | |||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Pour un partitionnement par liste, on ne peut utiliser qu'une liste de littéraux ou constantes, sinon l'erreur suivante apparaît:
Citation:
Code :
|
|||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Bonjour,
C'est bien dommage car je suis en 9.2, et en plus je n'ai pas la possibilité de rajouter une colonne. Si quelqu'un voit une autre solution que de partitionner par range sur le jour, afin d'éviter un trop grand nombre de partitions, cela m'aiderait bien. Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com