Resultado a una variable

20/09/2004 - 18:06 por Juan | Informe spam
Hola grupo:

Tengo el siguiente query:

SET @QUERY = 'SELECT TOTAL FROM CALCULOS
WHERE PERIODO = ''' + @PERIDO + ''''
EXEC (@QUERY)


Este query funciona perfectamente bien, pero necesito
que el resultado se almacene en una variable que mas tarde
la necesitare para efectuar otros procesos. Alguien sabe
como hacer esto ???

Y forzosamente necesito hacerlo concatenando cadenas
porque en el select uno de los campos es la condicion a
evaluar.

Saludos y gracias por su tiempo.


ATTE: Juan.

Preguntas similare

Leer las respuestas

#1 Maxi
20/09/2004 - 19:37 | Informe spam
Hola, primero no entiendo porque haces un Sql_dinamico.

ahora bien, si el valor de retorno SIEMPRE es una sola fila podrias hacer

declare @total int

SET @total = TOTAL FROM CALCULOS WHERE PERIODO = @PERIDO

Suerte



Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Juan" escribió en el mensaje
news:4a3501c49f2b$b961a1d0$
Hola grupo:

Tengo el siguiente query:

SET @QUERY = 'SELECT TOTAL FROM CALCULOS
WHERE PERIODO = ''' + @PERIDO + ''''
EXEC (@QUERY)


Este query funciona perfectamente bien, pero necesito
que el resultado se almacene en una variable que mas tarde
la necesitare para efectuar otros procesos. Alguien sabe
como hacer esto ???

Y forzosamente necesito hacerlo concatenando cadenas
porque en el select uno de los campos es la condicion a
evaluar.

Saludos y gracias por su tiempo.


ATTE: Juan.





Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.764 / Virus Database: 511 - Release Date: 15/09/2004
Respuesta Responder a este mensaje
#2 Juan
20/09/2004 - 23:15 | Informe spam
Gracias Adrian es lo que estaba buscando.


Con el permiso de Javier Loria, voy a realizar un COPY-


PASTE de un respuesta
que envio a este foro y que es una de las "perlas" que he


encontrado en el.


No soy amigo del SQL Dinamico, por mil razones y


siempre que veo una
pregunta de estas recomiendo la lectura del articulo de


las Virtudes y
Maldades del SQL Dinamico:


http://www.algonet.se/~sommar/dynamic_sql.html
En todo caso la sintaxis seria:
==>DECLARE @total SMALLINT
DECLARE @consulta NVARCHAR(500)
DECLARE @from VARCHAR(100)
DECLARE @where VARCHAR(100)
SET @From=' FROM authors '
SET @Where=' WHERE state=''CA'' '
set @consulta=N'select @Numero=count(*)' + @from+@where

EXEC sp_executesql @Consulta, N'@Numero INT OUTPUT',


@Total OUTPUT
PRINT 'Encontre: '+CAST(@Total AS VARCHAR(6))
==> La documentacion no es muy clara sobre el uso de


OUTPUT.

El "truco" es en la sentencia se usa el parameto


@Numero, que NO ESTA
DECLARADO en la consulta, sino que se declara como una


variable OUTPUT a un
parametro adicional que se pasa al sp_executesql

Saludos,


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.

-


-


Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Juan" wrote in


message
news:4a3501c49f2b$b961a1d0$
Hola grupo:

Tengo el siguiente query:

SET @QUERY = 'SELECT TOTAL FROM CALCULOS
WHERE PERIODO = ''' + @PERIDO + ''''
EXEC (@QUERY)


Este query funciona perfectamente bien, pero




necesito
que el resultado se almacene en una variable que mas




tarde
la necesitare para efectuar otros procesos. Alguien sabe
como hacer esto ???

Y forzosamente necesito hacerlo concatenando cadenas
porque en el select uno de los campos es la condicion a
evaluar.

Saludos y gracias por su tiempo.


ATTE: Juan.




.

Respuesta Responder a este mensaje
#3 Adrian D. Garcia
20/09/2004 - 23:50 | Informe spam
Con el permiso de Javier Loria, voy a realizar un COPY-PASTE de un respuesta
que envio a este foro y que es una de las "perlas" que he encontrado en el.


No soy amigo del SQL Dinamico, por mil razones y siempre que veo una
pregunta de estas recomiendo la lectura del articulo de las Virtudes y
Maldades del SQL Dinamico: http://www.algonet.se/~sommar/dynamic_sql.html
En todo caso la sintaxis seria:
=ÞCLARE @total SMALLINT
DECLARE @consulta NVARCHAR(500)
DECLARE @from VARCHAR(100)
DECLARE @where VARCHAR(100)
SET @From=' FROM authors '
SET @Where=' WHERE state=''CA'' '
set @consulta=N'select @Numero=count(*)' + @from+@where

EXEC sp_executesql @Consulta, N'@Numero INT OUTPUT', @Total OUTPUT
PRINT 'Encontre: '+CAST(@Total AS VARCHAR(6))
== La documentacion no es muy clara sobre el uso de OUTPUT.

El "truco" es en la sentencia se usa el parameto @Numero, que NO ESTA
DECLARADO en la consulta, sino que se declara como una variable OUTPUT a un
parametro adicional que se pasa al sp_executesql

Saludos,


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.



Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Juan" wrote in message
news:4a3501c49f2b$b961a1d0$
Hola grupo:

Tengo el siguiente query:

SET @QUERY = 'SELECT TOTAL FROM CALCULOS
WHERE PERIODO = ''' + @PERIDO + ''''
EXEC (@QUERY)


Este query funciona perfectamente bien, pero necesito
que el resultado se almacene en una variable que mas tarde
la necesitare para efectuar otros procesos. Alguien sabe
como hacer esto ???

Y forzosamente necesito hacerlo concatenando cadenas
porque en el select uno de los campos es la condicion a
evaluar.

Saludos y gracias por su tiempo.


ATTE: Juan.
Respuesta Responder a este mensaje
#4 Adrian D. Garcia
21/09/2004 - 19:31 | Informe spam
Nuevamente, Gracias a Javier Loria

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Juan" wrote in message
news:276b01c49f56$ee594c50$
Gracias Adrian es lo que estaba buscando.


>Con el permiso de Javier Loria, voy a realizar un COPY-
PASTE de un respuesta
>que envio a este foro y que es una de las "perlas" que he
encontrado en el.
>
>
> No soy amigo del SQL Dinamico, por mil razones y
siempre que veo una
>pregunta de estas recomiendo la lectura del articulo de
las Virtudes y
>Maldades del SQL Dinamico:
http://www.algonet.se/~sommar/dynamic_sql.html
> En todo caso la sintaxis seria:
>==> >DECLARE @total SMALLINT
>DECLARE @consulta NVARCHAR(500)
>DECLARE @from VARCHAR(100)
>DECLARE @where VARCHAR(100)
>SET @From=' FROM authors '
>SET @Where=' WHERE state=''CA'' '
>set @consulta=N'select @Numero=count(*)' + @from+@where
>
>EXEC sp_executesql @Consulta, N'@Numero INT OUTPUT',
@Total OUTPUT
>PRINT 'Encontre: '+CAST(@Total AS VARCHAR(6))
>==> > La documentacion no es muy clara sobre el uso de
OUTPUT.
>
> El "truco" es en la sentencia se usa el parameto
@Numero, que NO ESTA
>DECLARADO en la consulta, sino que se declara como una
variable OUTPUT a un
>parametro adicional que se pasa al sp_executesql
>
> Saludos,
>
>
>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.
>
>-
-
>
>
>Saludos
>Adrian D. Garcia
>MCSD
>NDSoft Consultoria y Desarrollo
>
>"Juan" wrote in
message
>news:4a3501c49f2b$b961a1d0$
>> Hola grupo:
>>
>> Tengo el siguiente query:
>>
>> SET @QUERY = 'SELECT TOTAL FROM CALCULOS
>> WHERE PERIODO = ''' + @PERIDO + ''''
>> EXEC (@QUERY)
>>
>>
>> Este query funciona perfectamente bien, pero
necesito
>> que el resultado se almacene en una variable que mas
tarde
>> la necesitare para efectuar otros procesos. Alguien sabe
>> como hacer esto ???
>>
>> Y forzosamente necesito hacerlo concatenando cadenas
>> porque en el select uno de los campos es la condicion a
>> evaluar.
>>
>> Saludos y gracias por su tiempo.
>>
>>
>> ATTE: Juan.
>
>
>.
>
Respuesta Responder a este mensaje
#5 Javier Loria
22/09/2004 - 01:32 | Informe spam
Hola:
Me siento honrado que me cites, y me pagaste con creces cuando me
ensenaste:
UPDATE Tabla
SET @Variable=Columna=Columna+1
WHERE ...
Saludos,

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

"Adrian D. Garcia" wrote in message
news:
Nuevamente, Gracias a Javier Loria

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Juan" wrote in message
news:276b01c49f56$ee594c50$
> Gracias Adrian es lo que estaba buscando.
>
>
> >Con el permiso de Javier Loria, voy a realizar un COPY-
> PASTE de un respuesta
> >que envio a este foro y que es una de las "perlas" que he
> encontrado en el.
> >
> >
> > No soy amigo del SQL Dinamico, por mil razones y
> siempre que veo una
> >pregunta de estas recomiendo la lectura del articulo de
> las Virtudes y
> >Maldades del SQL Dinamico:
> http://www.algonet.se/~sommar/dynamic_sql.html
> > En todo caso la sintaxis seria:
> >==> > >DECLARE @total SMALLINT
> >DECLARE @consulta NVARCHAR(500)
> >DECLARE @from VARCHAR(100)
> >DECLARE @where VARCHAR(100)
> >SET @From=' FROM authors '
> >SET @Where=' WHERE state=''CA'' '
> >set @consulta=N'select @Numero=count(*)' + @from+@where
> >
> >EXEC sp_executesql @Consulta, N'@Numero INT OUTPUT',
> @Total OUTPUT
> >PRINT 'Encontre: '+CAST(@Total AS VARCHAR(6))
> >==> > > La documentacion no es muy clara sobre el uso de
> OUTPUT.
> >
> > El "truco" es en la sentencia se usa el parameto
> @Numero, que NO ESTA
> >DECLARADO en la consulta, sino que se declara como una
> variable OUTPUT a un
> >parametro adicional que se pasa al sp_executesql
> >
> > Saludos,
> >
> >
> >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.
> >
> >-
> -
> >
> >
> >Saludos
> >Adrian D. Garcia
> >MCSD
> >NDSoft Consultoria y Desarrollo
> >
> >"Juan" wrote in
> message
> >news:4a3501c49f2b$b961a1d0$
> >> Hola grupo:
> >>
> >> Tengo el siguiente query:
> >>
> >> SET @QUERY = 'SELECT TOTAL FROM CALCULOS
> >> WHERE PERIODO = ''' + @PERIDO + ''''
> >> EXEC (@QUERY)
> >>
> >>
> >> Este query funciona perfectamente bien, pero
> necesito
> >> que el resultado se almacene en una variable que mas
> tarde
> >> la necesitare para efectuar otros procesos. Alguien sabe
> >> como hacer esto ???
> >>
> >> Y forzosamente necesito hacerlo concatenando cadenas
> >> porque en el select uno de los campos es la condicion a
> >> evaluar.
> >>
> >> Saludos y gracias por su tiempo.
> >>
> >>
> >> ATTE: Juan.
> >
> >
> >.
> >


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