Holaaaa amigos. resolvi con el siguiente codigo gracias a José MAriano que me dio la luz de donde buscar

DECLARE @SQLString nvarchar(4000);
    DECLARE @ParmDefinition nvarchar(4000);
    DECLARE @valor decimal(12,6);

    --SET @IntVariable = 197;
SET @SQLString = N'SELECT @valorOUT='[EMAIL PROTECTED]' FROM '[EMAIL PROTECTED]' WHERE timecol= @tiempon' ; SET @ParmDefinition = N'@tiempon datetime, @valorOut decimal(12,6) OUTPUT';

EXECUTE sp_executesql @SQLString, @ParmDefinition, @[EMAIL PROTECTED] , @valorOUT = @valor OUTPUT;
    SELECT @valor;

en la variable @valor obtenbgo el resultado y no tengo que abrir cursores para esto. muchas gracias

PEPE



----- Original Message ----- From: "Pepe Ballaga" <[EMAIL PROTECTED]>
To: "Pepe Ballaga" <[EMAIL PROTECTED]>
Sent: Friday, October 17, 2008 11:12 AM
Subject: [dbms] Re: [dbms] Re: Necesidad de crear un cursor dinámicamente


Hola Jose MAriano. pues necesito obtener en una variable un valor determinado a partir de una consulta. a ver si me explico: primero busco los campos que me hacen falta aca:

declare tablas CURSOR FOR SELECT table_name, column_name from INFORMATION_SCHEMA.COLUMNS where table_name='log5sec' or table_name='log30sec' and column_name not like '%col%'
open tablas
FETCH NEXT FROM tablas into @tabla, @variable

es decir ya tengo el campo en la variable @variable y la tabla en la variable @tabla

ahora debo guardar el valor que tendria en esa tabla la variable a partir de un filtro deteminado

es decir algo asi

select @variable from @tabla

¿me explique?. quizas esta un poco enredado; pero bueno ojala me haya hecho entender

¿puedes ayudarme?.  GRacias

PEPE


----- Original Message ----- From: "Jose Mariano Alvarez" <[EMAIL PROTECTED]>
To: "Pepe Ballaga" <[EMAIL PROTECTED]>
Sent: Thursday, October 16, 2008 10:51 PM
Subject: [dbms] Re: Necesidad de crear un cursor dinámicamente


Para que usas el cursor?

Busca en la ayuda sp_executesql y TOP en la ayuda del Select.



--------------------------------
Atte.
Ing. Jose Mariano Alvarez
SQL Total Consulting



On Wed, Oct 15, 2008 at 15:43, Pepe Ballaga <[EMAIL PROTECTED]> wrote:
Holaaa amigos necesito de alguna manera poder crear un cursor dinámicamente.
es decir el campo y la tabla de donde voy a crear el cursor cambiará. la
solucion que le halle fué esta, pero no me funciona pues debo obtener un
valor que me retornará el cursor. ¿alguna sugerencia?. gracias

declare @valor as float
     set @valor=0
     set @sql=' declare valores cursor for select '[EMAIL PROTECTED]' from
'[EMAIL PROTECTED]' where timecol='+char(39)+cast(@tiempo as nvarchar(50))+char(39)
     set @[EMAIL PROTECTED]' open valores '
     set @[EMAIL PROTECTED]' declare @valorabstracto as float '
     set @[EMAIL PROTECTED] ' fetch next from valores into @valorabstracto '
     set @[EMAIL PROTECTED] ' return @valorabstracto '
     set @valor = execute(@sql)

el lio es que no me acepta esa instruccion de set @valor=execute (@sql) por
tanto ¿como puedo obtener el valor que me retornaria en @valorabstracto

PEPE




Responder a