-
[Debutant] if exists
Bonjour,
J'ai developpé des scripts de creation d'environnement sur Postgres 8.2.5 sous Windows. Je me suis servi de l'instruction IF EXISTS (DROP TRABLE IF EXISTS ..., DROP DATABASE IF EXISTS..., etc).
J'aimerai m'enservir sur une autre base Postgres 8.1.10 sous Mandriva. Afin de palier au if exists (l'instruction n'existe pas pour la 8.1.10) je prevois d'utiliser le Plpgsql afin de catcher l'exception si l'y a.
Le probleme est que l'utilisation du plpgsql necessite d'être utiliser dans des fonctions.
Je me demande si c'est la bonne facon de programmer avant la version 8.2 ou si je fais erreur.
Je vous remercie.
Arnaud
-
En effet, IF EXISTS n'existe pas avant la 8.2. En fait, tout dépend de ce dont tu as besoin. Si tu peux laisser passer les erreurs, le plus simple est le DROP TABLE et tant pis pour l'erreur. Si tu ne peux pas les laisser (parce que dans une transaction ou je ne sais quoi) et que c'est un script, tu peux écrire ta fonction drop_if_exists qui prendre en argument le nom de la table. À ma connaissance, c'est le seul moyen dans ce cas.
-
Ok merci,
Je vois pas d autes solutions non plus.