|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Bonjour,
Débutant avec le SQL, je galère un peu pour insérer dans une variable le résultat d'une requête ou d'une fonction; J'ai une fonction get_last_gids() renvoyant le dernier enregistrement d'une table : CREATE FUNCTION get_last_gids() RETURNS INTEGER AS ' SELECT gid_id from gids ORDER BY compt DESC LIMIT 1;' LANGUAGE 'SQL'; Je voudrais dans une fonction PL/PGSQL affecter à une variable le résultat de cette fonction : CREATE FUNCTION update_gids_links() RETURNS TEXT AS ' DECLARE last_gids INTEGER; BEGIN SELECT INTO last_gids FROM (SELECT gid_id from gids ORDER BY compt) ou SELECT INTO last_gids EXECUTE get_last_gids(); DESC LIMIT 1); RETURN last_gid; END; ' LANGUAGE 'PLPGSQL'; Mais dans les 2 cas, j'ai une erreur. Sauriez-vous comment remédier à cela ? En vous remerciant, C. Tobini |
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : juillet 2006 Messages : 2 662 ![]() |
Pourquoi dans ton premier select tu ne mets pas de champs de table???
Code :
__________________
la culture c'est comme la confiture moins on en a plus on l'étale. Vous souhaitez contribuer aux rubriques Solutions d'entreprises ou BI, contactez-moi Mes tutos |
||
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Bonjour et merci de ta réponse, ça fonctionne très bien.
J'ai réécris à l'identique ma fonction est maintenant ça marche aussi (?). Pour l'info : DECLARE var as INTEGER; BEGIN var := ma_fonction(); ou var := (SELECT...) RETURN ... END; Et c'est bon. C. Tobini |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com