Différences
Ci-dessous, les différences entre deux révisions de la page.
cookbook:recuperer_resultat_requete_executee_dans_procedure_stockee [2008/10/14 20:31] – créée ioguix | cookbook:recuperer_resultat_requete_executee_dans_procedure_stockee [2008/10/15 16:58] (Version actuelle) – effacée ioguix | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Récupérer le résultat d'une requête exécutée dans une procédure stockée ====== | ||
- | En php on peut utiliser directement une requête pour obtenir un recordset. | ||
- | |||
- | Cependant si l'on veux récupérer un recordset via une procédure stockée -- pour appliquer des traitements sur des paramètres avant d' | ||
- | |||
- | L' | ||
- | |||
- | <code sql> | ||
- | |||
- | RETURNS setof integer AS | ||
- | |||
- | $BODY$ | ||
- | |||
- | DECLARE | ||
- | |||
- | -- On crée une variable de type record , on peut aussi suivant le besoin créer une variable de type %ROWTYPE | ||
- | |||
- | | ||
- | |||
- | BEGIN | ||
- | |||
- | FOR myrecord in SELECT mon_pk FROM ma_table loop | ||
- | myset:= myrecord.mon_pk; | ||
- | RETURN NEXT; | ||
- | END LOOP; | ||
- | RETURN; | ||
- | END; | ||
- | $BODY$ | ||
- | LANGUAGE ' | ||
- | |||
- | ALTER FUNCTION ma_fonction(out myset demande.demande_pk%TYPE) OWNER TO mon_user;</ | ||
- | |||
- | Pour récupérer l' | ||
- | |||
- | <code sql> | ||
- | |||
- | Les mots importants sont : | ||
- | * setof | ||
- | * record | ||
- | * %TYPE et %ROWTYPE | ||
- | * for...loop | ||
- | * return next | ||
- | |||
- | -- \\ | ||
- | loquace le 07/06/2007 |