|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : avril 2008 Messages : 89 ![]() |
Bonjour,
dans mes fonction de nettoyage de ma BDD j'utilise souvent des tournures du style DROP INDEX IF EXISTS, DROP TABLE IF EXISTS afin de ne pas lever d'erreur pour rien. Toutefois je ne sais pas comment faire de même pour la suppression des colonnes et des foreign key associées. J'utilise : ALTER TABLE matable DROP COLUMN macolonne; Comment faire pour conditionner cette commande par un test d'existence de la colonne en question ? J'utilise sql ou plpgsql... Je préférerai une méthode sans bloc de test explicite, toutefois je suis preneur de toute solution. Cordialement, |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : mai 2002 Messages : 45 ![]() |
Bonjour,
Voila exactement ce que je recherche. Si qqun à la solution... |
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Tu peux tester :
Code :
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Ou bien dans un bloc pl/pgsql, fais ta commande "alter table ... drop column ..." et gère les exceptions pour dire de ne rien faire ou de continuer quand-même s'il y a une erreur
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#5 | |
|
Futur Membre du Club
![]() Inscription : mai 2002 Messages : 45 ![]() |
Citation:
Je vais essayer l'autre solution, merci. |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : avril 2008 Messages : 89 ![]() |
Merci scheu pour ces deux méthodes. Comme j'ai des fonctions que je souhaites laisser en sql je vais me faire un petit wrapper autour de la première solution histoire de faciliter un peu la syntaxe lors de l'utilisation.
Je suis un peu bigleu et inculte... Où est pris cette belle tof qui te sers d'avatar ? Merci pour la réponse.... J'oserai presque dire... et pour les foreign key ? ALTER TABLE <ma_table> DROP CONSTRAINT IF EXISTS <ma_contrainte>; mais bon je vais un peu chercher dans la doc des tables pg. |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : mai 2002 Messages : 45 ![]() |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com