¿Cómo se asigna el resultado de una llamada ejecutiva a una variable en SQL? Tengo un proceso almacenado llamado up_GetBusinessDay
, que devuelve una sola fecha.
¿Puedes hacer algo como esto?
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
sql
sql-server
tsql
stored-procedures
Prabhu
fuente
fuente
Esto funcionará si simplemente desea devolver un número entero:
fuente
UNIQUEIDENTIFIER
.UNIQUEIDENTIFIER
fue solo un ejemplo,RETURN
está diseñado para funcionar solo con valores enteros, consulte los documentos . La forma recomendada de obtener otros datos de un SP es devolver un conjunto de resultados o usarOUTPUT
fuente
De la documentación (asumiendo que usa SQL-Server):
Entonces sí, debería funcionar de esa manera.
fuente
Tenía la misma pregunta. Si bien aquí hay buenas respuestas, decidí crear una función con valores de tabla. Con una función con valor de tabla (o escalar), no tiene que cambiar su proceso almacenado. Simplemente hice una selección de la función con valores de tabla. Tenga en cuenta que el parámetro (MyParameter es opcional).
Para asignar a su variable, simplemente puede hacer algo como:
También puede utilizar una función con valores escalares:
Entonces puedes simplemente hacer
fuente