Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
pour un de mes projets, je souhaite pouvoir faire du scripting plpgsql mais sans passer par la création de fonction.
Est ce possible ?
Si ce n'est pas possible, existe-t-il une autre solution pour tester l'existence d'un schéma avant de le créer. (sans utiliser de fonction stockée)
En gros j'aimerais faire :
SI schema n'existe pas ALORS
CREER schema
FIN SI
Hors ligne
Bonjour, je viens de trouver finalement.
Depuis la version 9.0, Postgresql intègre une instruction DO qui permet d'éxécuter un bloc de code et permet donc de scripter sans creer de fonctions.
http://www.postgresql.org/docs/9.1/static/sql-do.html
Dans mon cas ca donne quelque chose du style:
DO LANGUAGE plpgsql $$
BEGIN
IF NOT EXISTS(SELECT * FROM pg_namespace WHERE nspname = 'affiliation_0') THEN
CREATE SCHEMA affiliation_0 AUTHORIZATION postgres;
GRANT ALL ON SCHEMA affiliation_0 TO postgres;
END IF;
END$$;
Très pratique ce DO
Bonne journée tout le monde
Hors ligne
Est ce possible ?
Oui, à partir de la version 9.0, en utilisant l'instruction DO (http://docs.postgresql.fr/9.1/sql-do.html).
Si ce n'est pas possible, existe-t-il une autre solution pour tester l'existence d'un schéma avant de le créer. (sans utiliser de fonction stockée)
Il faut le faire du côté applicatif. IF n'est pas une instruction SQL.
Guillaume.
Hors ligne
Depuis la 9.0, oui, c'est possible: regardez la doc de 'DO'
http://docs.postgresql.fr/9.0/sql-do.html
Marc.
Hors ligne
Mouarf, je ne suis qu'un pâle echo de gleu
Marc.
Hors ligne
... qui n'est lui même qu'un pale echo de moi meme si ca te rassure
Cependant je vous remercie tout deux pour votre rapidité
Hors ligne
:-D
Guillaume.
Hors ligne
Pages : 1