IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

PL/pgsql appels dynamiques


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 12
    Points
    12
    Par défaut PL/pgsql appels dynamiques
    Bonjour,

    Je cherche a obtenir le résultat d'une fonction dans un bloc d'appel dynamique, mais je ne sais pas si cela est faisable.

    Exemple:

    Le fonction test2() fait un appel a la fonction test(). Je voudrais récupérer dans test2() la valeur retournée dans test().

    Le code actuel m'indique que select into dans la commande execute n'est pas encore implémenté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    -- DROP FUNCTION technical.test();
    CREATE OR REPLACE FUNCTION technical.test()
      RETURNS text AS
    $BODY$DECLARE
    	BEGIN
    	RETURN 'test';
    END;$BODY$
      LANGUAGE 'plpgsql' VOLATILE;
     
    --DROP FUNCTION technical.test2();
    CREATE OR REPLACE FUNCTION technical.test2()
      RETURNS text AS
    $BODY$DECLARE
    	retour text;
    	name text;
    	BEGIN 
    	name:='technical.test()';
    	EXECUTE 'select * INTO retour FROM '||name;
    	RETURN retour;
    END;$BODY$
      LANGUAGE 'plpgsql' VOLATILE;
     
    select * FROM technical.test2();
    Est-il possible de faire ce genre d'opératiion?

    Et si oui, comment?

    Merci de votre aide,

    Sébastien

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Bon, pour ceux que ca intéresse, j'ai fini par trouver la réponse ici: http://www.developpez.net/forums/sho...d.php?t=341052

    il suffisait de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXECUTE 'select * FROM '||name INTO retour;
    :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appels dynamiques d'objets
    Par dederfred dans le forum Delphi
    Réponses: 8
    Dernier message: 09/10/2006, 22h21
  2. Appeler dynamiquement une procédure stockée
    Par Mark531 dans le forum Access
    Réponses: 1
    Dernier message: 05/09/2006, 17h49
  3. Appel dynamique de fonctions
    Par smyley dans le forum MFC
    Réponses: 4
    Dernier message: 27/10/2005, 12h53
  4. Réponses: 7
    Dernier message: 03/10/2005, 23h27
  5. Réponses: 4
    Dernier message: 07/12/2002, 07h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo