/ / Uso del procedimiento almacenado en Select (T-SQL) - SQL Server, SQL Server, SQL Server, TSQL, procedimientos almacenados

Uso del procedimiento almacenado en Select (T-SQL) - sql, sql-server, sql-server-2005, tsql, stored-procedures

Necesito acceder al resultado de un procedimiento almacenado dentro de una declaración de selección, es decir:

SELECT * FROM [dbo].[sp_sample]

en SQL_Server 2005.

Respuestas

1 para la respuesta № 1

@Barry tiene razón debe crear una tabla temporal e insertarla primero, luego unirse a esa tabla en su selección.

Sin embargo, existen numerosas formas de compartir datos entre procedimientos almacenados, consulte este excelente artículo: Cómo compartir datos entre procedimientos almacenados por Erland Sommarskog

Un método que puede funcionar para usted es "compartir" una tabla temporal. La tabla #temp se crea en el procedimiento principal y puede ser utilizada por el elemento secundario: http://www.sommarskog.se/share_data.html#temptables


3 para la respuesta № 2

Esto no es posible. Tendría que crear una tabla temporal para almacenar los resultados.

Create Table #tmp
(
...
)
Insert into #tmp
Exec dbo.StoredProcedure

La estructura de la tabla debe coincidir con la salida del procedimiento almacenado.