Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2011, 17h21   #1
Invité régulier
 
Homme
SQLI
Inscription : novembre 2011
Messages : 42
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : SQLI
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2011
Messages : 42
Points : 9
Points : 9
Par défaut ADD PARTITION avec vérification de l'existance?

Bonsoir tout le monde,

Dans un traitement automatique je crée des partitions dans une table, mais avant je dois vérifier que la table ne contient pas déjà la partition que je veux rajouter et du coup j'ai l'erreur que la partition existe déjà.

J'ai essayé " ADD OR REPLACE nom_partition VALUES (..)" , mais cette commande ne marche pas avec les partitions.

Avez-vous une idée sur comment vérifier avant de rajouter ?

Merci d'avance.
waouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 18h38   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Pour savoir si la partition existe déjà :
Code :
1
2
3
4
SELECT *
  FROM sys.all_tab_partitions
 WHERE owner      = <nomuser>
   AND table_name = <nomtable>
Pour rajouter une partition :
Code :
ALTER TABLE <nomuser>.<nomtable> ADD PARTITION [...]
Sinon, en 11g Oracle peut créer tout seul les nouvelles partitions (selon la logique de partitionnement).
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 11h35   #3
Invité régulier
 
Homme
SQLI
Inscription : novembre 2011
Messages : 42
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : SQLI
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2011
Messages : 42
Points : 9
Points : 9
Merci d'abord pour la réponse.

Comme j'appelle ce code via un script shell, je veux bien une seule requete qui fait la vérification et l'ajout en case de non existance car c'est compliquée de gérer deux requêtes via shell.
waouni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 11h46   #4
Membre éprouvé
 
Femme
Administrateur de base de données
Inscription : novembre 2007
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : novembre 2007
Messages : 341
Points : 478
Points : 478
tu pourrais créer une procédure dans oracle qui gère tout cela (existence de la partition, place dans le tablespace ou création d'un nouveau tablespace pour la partition puis création de la partition et calcul des stats sur les partitions nouvellement créées). puis tu appelles la procédure depuis ton shell.
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h24.


 
 
 
 
Partenaires

Hébergement Web