Resultados de procedimientos almacenados.

17/02/2005 - 12:15 por JOSE ANTONIO | Informe spam
Cuando en un procedimiento almacenado, se realizan varios select, de los
cuales se pretende que unos son para calculos internos del procedimiento y
otros para realizar la devolucion de los resultados.

El procedimiento devuelve por defecto todos los resultados de los select
realizados.

Existe alguna manera de devolver los resultados que nos interesen y anular
de alguna manera los resultados anteriores?

Gracias

Preguntas similare

Leer las respuestas

#1 Maxi
17/02/2005 - 13:09 | Informe spam
Hola, selecdt para calculos internos? como es eso? podrias poner un ejemplo


Salu2
Maxi


"JOSE ANTONIO" escribió en el mensaje
news:%
Cuando en un procedimiento almacenado, se realizan varios select, de los
cuales se pretende que unos son para calculos internos del procedimiento y
otros para realizar la devolucion de los resultados.

El procedimiento devuelve por defecto todos los resultados de los select
realizados.

Existe alguna manera de devolver los resultados que nos interesen y
anular de alguna manera los resultados anteriores?

Gracias

Respuesta Responder a este mensaje
#2 Carlos Sacristán
17/02/2005 - 13:30 | Informe spam
No sé si cuando dices "devuelve por defecto todos los resultados" te
refieres al número de filas afectadas o al conjunto de resultados de una
consulta. Si es lo primero, estableciendo la opción SET NOCOUNT ON al hacer
el "cálculo" y justo antes de devolver los resultados finales poner SET
NOCOUNT OFF, lo tendrías solucionado. Si a lo que te refieres es a la
segunda opción, un ejemplo de lo que quieres sería interesante


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"JOSE ANTONIO" escribió en el mensaje
news:#
Cuando en un procedimiento almacenado, se realizan varios select, de los
cuales se pretende que unos son para calculos internos del procedimiento y
otros para realizar la devolucion de los resultados.

El procedimiento devuelve por defecto todos los resultados de los select
realizados.

Existe alguna manera de devolver los resultados que nos interesen y


anular
de alguna manera los resultados anteriores?

Gracias


Respuesta Responder a este mensaje
#3 Alejandro Mesa
17/02/2005 - 14:39 | Informe spam
Jose Antonio,

Puedes postear un ejemplo de SELECT para calculos internons?

He visto casos como:

select * from table where ...

if @@rowcount > 0
...

Lo cual se debe cambiar a:

if exists(select * from tabla where ...)
...


AMB

"JOSE ANTONIO" wrote:

Cuando en un procedimiento almacenado, se realizan varios select, de los
cuales se pretende que unos son para calculos internos del procedimiento y
otros para realizar la devolucion de los resultados.

El procedimiento devuelve por defecto todos los resultados de los select
realizados.

Existe alguna manera de devolver los resultados que nos interesen y anular
de alguna manera los resultados anteriores?

Gracias



Respuesta Responder a este mensaje
#4 JOSE ANTONIO
17/02/2005 - 14:54 | Informe spam
Este es el error que cometia, cambiandolo por el if exists, ya solo me
devuelve el ultimo resultado que es el que necesito.

Saludos y gracias.

"Alejandro Mesa" escribió en el
mensaje news:
Jose Antonio,

Puedes postear un ejemplo de SELECT para calculos internons?

He visto casos como:

select * from table where ...

if @@rowcount > 0
...

Lo cual se debe cambiar a:

if exists(select * from tabla where ...)
...


AMB

"JOSE ANTONIO" wrote:

Cuando en un procedimiento almacenado, se realizan varios select, de los
cuales se pretende que unos son para calculos internos del procedimiento
y
otros para realizar la devolucion de los resultados.

El procedimiento devuelve por defecto todos los resultados de los select
realizados.

Existe alguna manera de devolver los resultados que nos interesen y
anular
de alguna manera los resultados anteriores?

Gracias



Respuesta Responder a este mensaje
#5 Alejandro Mesa
17/02/2005 - 15:13 | Informe spam
Jose Antonio,

Que bueno que acertamos. La proxima vez nos seria de mucha ayuda si
postearas el codigo.

Saludos,

AMB

"JOSE ANTONIO" wrote:

Este es el error que cometia, cambiandolo por el if exists, ya solo me
devuelve el ultimo resultado que es el que necesito.

Saludos y gracias.

"Alejandro Mesa" escribió en el
mensaje news:
> Jose Antonio,
>
> Puedes postear un ejemplo de SELECT para calculos internons?
>
> He visto casos como:
>
> select * from table where ...
>
> if @@rowcount > 0
> ...
>
> Lo cual se debe cambiar a:
>
> if exists(select * from tabla where ...)
> ...
>
>
> AMB
>
> "JOSE ANTONIO" wrote:
>
>> Cuando en un procedimiento almacenado, se realizan varios select, de los
>> cuales se pretende que unos son para calculos internos del procedimiento
>> y
>> otros para realizar la devolucion de los resultados.
>>
>> El procedimiento devuelve por defecto todos los resultados de los select
>> realizados.
>>
>> Existe alguna manera de devolver los resultados que nos interesen y
>> anular
>> de alguna manera los resultados anteriores?
>>
>> Gracias
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida