Filtrar resultados de un SP

27/10/2003 - 16:30 por Osvaldo Bisignano | Informe spam
Se debe haber preguntado muchas veces ya, pero ahi va

como puedo filtrar los registros que devuelve un StoredProcedure mediante
una clausula WHERE?

En bruto:
SELECT *
FROM (EXEC MySP param1, param2)
WHERE Campo1='Valor1'

Ya se que puedo crear una tabla temporal o bien una variable tipo table,
pero para eso tengo que declarar cada una de las columnas y sus
correspondientes tipos, con lo que pierdo mucho tiempo en desarrollo y
mantenimiento.

Imagino que será como siempre, el camino más complicado. Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
27/10/2003 - 16:48 | Informe spam
¿Y por qué no filtras esos resultados en el procedimiento?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Osvaldo Bisignano" escribió en el mensaje
news:
Se debe haber preguntado muchas veces ya, pero ahi va

como puedo filtrar los registros que devuelve un StoredProcedure mediante
una clausula WHERE?

En bruto:
SELECT *
FROM (EXEC MySP param1, param2)
WHERE Campo1='Valor1'

Ya se que puedo crear una tabla temporal o bien una variable tipo table,
pero para eso tengo que declarar cada una de las columnas y sus
correspondientes tipos, con lo que pierdo mucho tiempo en desarrollo y
mantenimiento.

Imagino que será como siempre, el camino más complicado. Muchas gracias.






Respuesta Responder a este mensaje
#2 Osvaldo Bisignano
27/10/2003 - 17:19 | Informe spam
supongamos que yo no hice el stored procedure. Y me interesa obtener solo un
subconjunto del conjunto de resultados que me arroja ese stored que no tiene
parámetros (o tiene pero no me sirven).

por ejemplo (ya se que esto se hace de otra forma)

del conjunto de registros devuelto por
sp_columns @table_name='MiTabla'
quiero obtener solo los registros donde la columna "TYPE_NAME" sea igual a
'bigint'.

Para hacer esto solo he encontrado como solucion crear una variable table
(con sus 20 definiciones de campo)
y cargar tod ahi, para luego filtrarlo con un simple WHERE.

Es que no hay otra forma mas sencilla?



Y que si quiero transformar
"Carlos Sacristan" escribió en el mensaje
news:ew3N#

¿Y por qué no filtras esos resultados en el procedimiento?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Osvaldo Bisignano" escribió en el mensaje
news:
> Se debe haber preguntado muchas veces ya, pero ahi va
>
> como puedo filtrar los registros que devuelve un StoredProcedure


mediante
> una clausula WHERE?
>
> En bruto:
> SELECT *
> FROM (EXEC MySP param1, param2)
> WHERE Campo1='Valor1'
>
> Ya se que puedo crear una tabla temporal o bien una variable tipo table,
> pero para eso tengo que declarar cada una de las columnas y sus
> correspondientes tipos, con lo que pierdo mucho tiempo en desarrollo y
> mantenimiento.
>
> Imagino que será como siempre, el camino más complicado. Muchas gracias.
>
>
>
>
>
>


Respuesta Responder a este mensaje
#3 Javier Loria
27/10/2003 - 19:27 | Informe spam
Hola Osvaldo:
El procedimiento que indicaste e(Crear una Tabla, llenarla, y luego
filtarla) es el usual.

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Osvaldo Bisignano escribio:
supongamos que yo no hice el stored procedure. Y me interesa obtener
solo un subconjunto del conjunto de resultados que me arroja ese
stored que no tiene parámetros (o tiene pero no me sirven).

por ejemplo (ya se que esto se hace de otra forma)

del conjunto de registros devuelto por
sp_columns @table_name='MiTabla'
quiero obtener solo los registros donde la columna "TYPE_NAME" sea
igual a 'bigint'.

Para hacer esto solo he encontrado como solucion crear una variable
table (con sus 20 definiciones de campo)
y cargar tod ahi, para luego filtrarlo con un simple WHERE.

Es que no hay otra forma mas sencilla?



Y que si quiero transformar
"Carlos Sacristan" escribió en el mensaje
news:ew3N#

¿Y por qué no filtras esos resultados en el procedimiento?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Osvaldo Bisignano" escribió en el
mensaje news:
Se debe haber preguntado muchas veces ya, pero ahi va

como puedo filtrar los registros que devuelve un StoredProcedure
mediante una clausula WHERE?

En bruto:
SELECT *
FROM (EXEC MySP param1, param2)
WHERE Campo1='Valor1'

Ya se que puedo crear una tabla temporal o bien una variable tipo
table, pero para eso tengo que declarar cada una de las columnas y
sus correspondientes tipos, con lo que pierdo mucho tiempo en
desarrollo y mantenimiento.

Imagino que será como siempre, el camino más complicado. Muchas
gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida