Re: [Firebird-fr-support] =?iso-8859-1?q?Comment_r=E9cup=E9rer_le_r?= =?iso-8859-1?q?=E9sultat_d=2
Brought to you by:
makowski
From: Florian C. <ch...@bf...> - 2007-11-01 14:46:13
|
Philippe Makowski a écrit : > Florian Champion a écrit : > >> SET TERM ^ ; >> ALTER PROCEDURE MESSAGE_BAD_FUNCTION_ALERT ( >> FUNCTION_NAME Varchar(30) ) >> RETURNS ( >> MESSAGE_TEXT Varchar(100) ) >> AS >> BEGIN >> SELECT MESSAGE_TEXT FROM MESSAGES_FOR_HARMFUL_FUNCTIONS >> WHERE FUNCTION_NAME = :FUNCTION_NAME INTO MESSAGE_TEXT; >> END^ >> SET TERM ; ^ >> >> >> Là encore, le résultat du SELECT n'est pas contenu dans MESSAGE_TEXT. >> Pourtant ce SELECT me retourne bien ce que je cherche, mais il ne met >> pas son résultat dans la variable. >> >> Comment faire? >> Je vous serais très reconnaissant de m'indiquer vos remarques et idées >> concernant ce problème. >> >> > en écrivant : > SET TERM ^ ; > > ALTER PROCEDURE MESSAGE_BAD_FUNCTION_ALERT ( FUNCTION_NAME Varchar(30) ) > > RETURNS ( MESSAGE_TEXT Varchar(100) ) > AS > BEGIN > SELECT MESSAGE_TEXT FROM MESSAGES_FOR_HARMFUL_FUNCTIONS > WHERE FUNCTION_NAME = :FUNCTION_NAME INTO MESSAGE_TEXT; > SUSPEND; > END^ > SET TERM ; ^ > > et ensuite : > SELECT MESSAGE_TEXT FROM MESSAGE_BAD_FUNCTION_ALERT; > > > Ca marche maintenant depuis mon dernier post. En fait, dans le code C++ et en utilisant le framework IBPP, Il ne faut pas utiliser de FETCH() pour récupérer les return values d'une stored procedure. Il faut seulement utiliser le GET ;-) Merci pour tout, Florian |