Comment attribuez-vous le résultat d'un appel exécutable à une variable dans SQL? J'ai un proc stocké appelé up_GetBusinessDay
, qui renvoie une seule date.
Pouvez-vous faire quelque chose comme ça:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
sql
sql-server
tsql
stored-procedures
Prabhu
la source
la source
Cela fonctionnera si vous souhaitez simplement renvoyer un entier:
la source
UNIQUEIDENTIFIER
.UNIQUEIDENTIFIER
n'était qu'un exemple,RETURN
est conçu pour fonctionner uniquement avec des valeurs entières, voir la documentation . La méthode recommandée pour obtenir d'autres données d'un SP est de retourner un jeu de résultats ou d'utiliserOUTPUT
la source
À partir de la documentation (en supposant que vous utilisez SQL-Server):
Alors oui, cela devrait fonctionner de cette façon.
la source
J'avais la même question. Bien qu'il y ait de bonnes réponses ici, j'ai décidé de créer une fonction table. Avec une fonction table (ou scalaire), vous n'avez pas à modifier votre proc stocké. J'ai simplement fait une sélection à partir de la fonction table. Notez que le paramètre (MyParameter est facultatif).
Pour affecter à votre variable, vous pouvez simplement faire quelque chose comme:
Vous pouvez également utiliser une fonction à valeur scalaire:
Ensuite, vous pouvez simplement faire
la source