Maison >base de données >tutoriel mysql >Comment attribuer le résultat d'un appel EXEC à une variable SQL ?
Attribuer des résultats d'exécution à des variables SQL
Question :
Comment attribuer le résultat d'un appel d'exécution à une variable en SQL ? Par exemple, si vous disposez d'une procédure stockée nommée up_GetBusinessDay qui renvoie une seule date, pouvez-vous attribuer le résultat à l'aide d'une instruction telle que :
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
Réponse :
L'utilisation d'un paramètre de sortie est une approche préférée plutôt que d’attribuer le résultat directement à une variable. Voici un exemple de création d'une procédure stockée avec un paramètre de sortie :
CREATE PROCEDURE YourStoredProcedure ( @Param1 int ,@Param2 varchar(5) ,@Param3 datetime OUTPUT ) AS IF ISNULL(@Param1, 0) > 5 BEGIN SET @Param3 = GETDATE() END ELSE BEGIN SET @Param3 = '1/1/2010' END RETURN 0 GO
Pour appeler cette procédure stockée et utiliser le paramètre de sortie :
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
Cela affichera :
0 2010-01-01 00:00:00.000
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!