Comment faire pour retourner la sortie de la procédure stockée dans une variable dans sql server
Je veux exécuter une procédure stockée dans SQL Server et affecter la sortie à une variable (elle renvoie une valeur unique) ?
- Quel est votre retour d'une procédure stockée? Une seule valeur? Un ensemble de résultats?
Vous devez vous connecter pour publier un commentaire.
Qui dépend de la nature de l'information que vous souhaitez retourner.
Si c'est un entier de valeur, vous pouvez utiliser le
return
déclarationSi vous n'avez pas un nombre entier, ou un certain nombre de valeurs scalaires, vous pouvez utiliser les paramètres de sortie
Si vous souhaitez retourner un ensemble de données, vous pouvez utiliser
insert exec
Vous pouvez même retourner un curseur, mais c'est juste horrible, donc je ne devrais pas donner un exemple 🙂
SELECT @Id
et@Id
n'est pas une variable de sortie ?Vous pouvez utiliser le
return
énoncé à l'intérieur d'une procédure stockée pour retourner un entier code de statut (et uniquement de type entier). Par convention, une valeur de retour à zéro est utilisée pour le succès.Si aucune
return
est défini explicitement, la procédure stockée renvoie zéro.Et vous appelez cela de cette façon:
Vous devez utiliser la valeur de retour pour les codes d'état seulement. Pour renvoyer des données, vous devez utiliser les paramètres de sortie.
Si vous souhaitez retourner un ensemble de données, puis utiliser un paramètre de sortie de type
cursor
.plus sur instruction de RETOUR
Utiliser ce code fonctionne correctement
Exécuter SP
Avec l'instruction de Retour à partir du proc, j'ai besoin d'affecter la variable temp et de passer à une autre procédure stockée. La valeur a été prise en assignés bien, mais lors du passage en paramètre, il a perdu de la valeur. J'ai dû créer une table temporaire et de définir les variables à partir de la table SQL (2008)