Vous n'êtes pas identifié(e).

#1 21/06/2011 15:36:34

abdouB
Membre

Recuperation definition corps fonction

Bonjour,


J'aurai voulu savoir comment je peux récupérer la définition ou le corps des fonctions en PostgreSQL via une requête.
Je m'explique, soit la fonction

CREATE OR REPLACE FUNCTION esadajdata.countdossiers(OUT metier_out character varying, OUT nombre_out integer)
  RETURNS SETOF record AS
$BODY$
DECLARE

mainQuery varchar:='';
cursorRecord record;
 
BEGIN
	
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000;
ALTER FUNCTION schema.countdossiers() OWNER TO role1;
GRANT EXECUTE ON FUNCTION schema.countdossiers() TO role2;
GRANT EXECUTE ON FUNCTION schema.countdossiers() TO role3;

J'aurai voulu savoir si je pouvais avoir une requête qui me donne la liste des fonctions dans une colonne et le corps de la fonction dans une autre (pour les fonctions en plpgsql).


Je sais qu'avec les vues je peux récupérer l'ensemble de la définition des vues en effectuant un :

SELECT *
FROM pg_views

J'ai vu qu'il existe une table pg_proc qui a l'air de contenir la définition des fonctions mais je ne trouve pas le corps....


Cordialement
Abdou

Hors ligne

#2 22/06/2011 23:20:26

gleu
Administrateur

Re : Recuperation definition corps fonction

La colonne prosrc de la ptable pg_proc contient le corps de la fonction.


Guillaume.

Hors ligne

#3 23/06/2011 09:55:25

abdouB
Membre

Re : Recuperation definition corps fonction

Bonjour,

J'avais bien vu la colonne mais je pensais qu'elle était vide.
Il y a des sauts de lignes à la fin des fonctions et je ne voyais que la dernière ligne.

Merci pour votre aide.

Cordialement.
Abdou

Hors ligne

Pied de page des forums