Realizar un Select en el resultado de una procedure

27/08/2008 - 22:48 por Diego de la Vega | Informe spam
Hola,
es posible realizar un select sobre el resultado de un procedimiento?

Por ejemplo
sp_who2 devuelve una columna indicando si esta bloqueado o no un proceso
llamada BlkBy

Como podria hacerse un SELECT * from (Resultado de la SP) where BlkBy is
not null

o algo parecido, me entienden?

Gracias
Diego
 

Leer las respuestas

#1 Rubén Garrigós
28/08/2008 - 00:27 | Informe spam
Hola Diego,

Se pueden encontrar multiples "trucos" para poder hacer algo así pero mi
recomendación es que utilices una tabla temporal o variable de tabla y
realices sobre ésta la consulta posterior. Algo como lo siguiente pero
indicando los tipos de datos (sql_variant lo puse por rapidez):

CREATE TABLE #temp (
spid sql_variant,
ecid sql_variant,
status sql_variant,
loginame sql_variant,
hostname sql_variant,
blk sql_variant,
dbname sql_variant,
cmd sql_variant,
request_id sql_variant)

INSERT INTO #temp
(spid,ecid,status,loginame,hostname,blk,dbname,cmd,request_id)
exec ('sp_who')

SELECT * FROM #TEMP WHERE...

En todo caso, dado que tu necesidad es muy particular y es posible que la
reutilices una y otra vez creo que quizás te convenga crearte un
procedimiento sp_who2_diego que ya incluya en su propia cuerpo el filtrado
que necesitas

Rubén Garrigós
Solid Quality Mentors


"Diego de la Vega" wrote:

Hola,
es posible realizar un select sobre el resultado de un procedimiento?

Por ejemplo
sp_who2 devuelve una columna indicando si esta bloqueado o no un proceso
llamada BlkBy

Como podria hacerse un SELECT * from (Resultado de la SP) where BlkBy is
not null

o algo parecido, me entienden?

Gracias
Diego

Preguntas similares