Duda en precedimiento almacenado

25/12/2004 - 20:02 por Jose Antonio | Informe spam
Hola gente:

Tengo una duda con respecto a los resultados que devuelve un precedimiento
almacenado el codigo explicativo es el siguiente:

declare @codigo varchar(15)
declare @cantidad int

select codigo,nombre,cantidad,precio,etc from tabla1 where
...(es muy largo) // este es el primer resultado que solo
devuelve una fila


select codigo,nombre,cantidad, etc.. from tabla2
where ...(es muy largo) // este es el segundo resultado que
tambien devuelve una fila


En el tercer resultado depende del codigo y cantidad del segundo resultado.

select codigo,nombre,cantidad, etc...from tabla3
where codigo=@codigo and cantidad=@cantidad.

no encuentro la manera de asignarle los valores a codigo y cantidad sin
tener que reescribir todo el select del segundo resultado.(y es bastante
extenso).

Hay alguna manera de mezclar el select con las asignaciones de la forma
select @codigo=codigo,@cantidad=cantidad,codigo,nombre,cantidad,
etcfrom tabla2 where

Y otra duda, este precedimiento devuelve tres resultados, ¿de que manera se
puede hacer para que no devuelva un resultado que solo nos intera a efectos
internos del procedimiento?




Saludos y feliz navidad a todos.

Preguntas similare

Leer las respuestas

#1 Maxi
26/12/2004 - 00:22 | Informe spam
Hola, el tema de variables lo podes hacer como idjiste, fijate en los BOL
que hay ejemplos bien claros de como usarlo.

Ahora que el SP's retorna 3 select distintos me parece algo medio loco ;) yo
considerto que deberas tenmer un Sp's por select

"Jose Antonio" escribió en el mensaje
news:
Hola gente:

Tengo una duda con respecto a los resultados que devuelve un precedimiento
almacenado el codigo explicativo es el siguiente:

declare @codigo varchar(15)
declare @cantidad int

select codigo,nombre,cantidad,precio,etc from tabla1 where
...(es muy largo) // este es el primer resultado que solo
devuelve una fila


select codigo,nombre,cantidad, etc.. from tabla2
where ...(es muy largo) // este es el segundo resultado que
tambien devuelve una fila


En el tercer resultado depende del codigo y cantidad del segundo
resultado.

select codigo,nombre,cantidad, etc...from tabla3
where codigo=@codigo and cantidad=@cantidad.

no encuentro la manera de asignarle los valores a codigo y cantidad sin
tener que reescribir todo el select del segundo resultado.(y es bastante
extenso).

Hay alguna manera de mezclar el select con las asignaciones de la forma
select @codigo=codigo,@cantidad=cantidad,codigo,nombre,cantidad,
etcfrom tabla2 where

Y otra duda, este precedimiento devuelve tres resultados, ¿de que manera
se puede hacer para que no devuelva un resultado que solo nos intera a
efectos internos del procedimiento?




Saludos y feliz navidad a todos.





Respuesta Responder a este mensaje
#2 qwalgrande
27/12/2004 - 17:03 | Informe spam
Hola.

De tus dos dudas, la primera, en una misma consulta, o asignas a variables o
devuelves result set. La segunda, para que no devuelva varios result set, lo
que yo hago es asignar los valores a variables (aunque luego no las use para
nada). Mira cómo se usa la función exists, en muchas ocasiones es la mejor
opción, ya que si no lo quieres devolver y no lo quieres almacenar,
normalmente es para chequear si existe o el número de registros (en este
caso, en lugar de la consulta normal, lanzas un recuento y lo asignas a la
variable y ya no sale nada devuelto).

qwalgrande

"Jose Antonio" wrote:

Hola gente:

Tengo una duda con respecto a los resultados que devuelve un precedimiento
almacenado el codigo explicativo es el siguiente:

declare @codigo varchar(15)
declare @cantidad int

select codigo,nombre,cantidad,precio,etc from tabla1 where
(es muy largo) // este es el primer resultado que solo
devuelve una fila


select codigo,nombre,cantidad, etc.. from tabla2
where ...(es muy largo) // este es el segundo resultado que
tambien devuelve una fila


En el tercer resultado depende del codigo y cantidad del segundo resultado.

select codigo,nombre,cantidad, etc...from tabla3
where codigo=@codigo and cantidad=@cantidad.

no encuentro la manera de asignarle los valores a codigo y cantidad sin
tener que reescribir todo el select del segundo resultado.(y es bastante
extenso).

Hay alguna manera de mezclar el select con las asignaciones de la forma
select @codigo=codigo,@cantidad=cantidad,codigo,nombre,cantidad,
etcfrom tabla2 where

Y otra duda, este precedimiento devuelve tres resultados, ¿de que manera se
puede hacer para que no devuelva un resultado que solo nos intera a efectos
internos del procedimiento?




Saludos y feliz navidad a todos.






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