Ver Mensaje Individual
  #1  
Antiguo 23-12-2005
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Reputación: 20
Ivanzinho Va por buen camino
Question Problema con execute statement

Hola foro trabajo con IBExpert V.2004.01.22 y firebird 1.5 y tengo un problemilla con la siguiente consulta
Código SQL [-]
         execute statement 'Select Cen_lp, Pte_lp, Pes_lp, Lof_lp, Npr_lp, Fre_lp, ' ||
                           'Web_lp, Res_lp from mb' || old.ape_la || 'linped ' ||
                           'where num_lp = ' || old.npe_la || 'and ano_lp = ' || old.ape_la ||
                           'and lin_lp = ' || old.lin_la
                           into :CEN, :PTE, :PES, :LOF, :NPR, :FRE, :WEB, :RES;

el valor que se me almacen en la variable CEN es incorrecto, esta variable es de tipo NUMERIC(15,2) al igual que el campo Cen_lp y en dos pruebas realizadas me devuelve el valor correcto / 100.

Como este campo normalmente no tiene decimales declare la variable CEN como INTEGER e hice la siguiente consulta obteniendo el resultado deseado
Código SQL [-]
         execute statement 'Select Cast(Cen_lp as integer), Pte_lp, Pes_lp, Lof_lp, Npr_lp, Fre_lp, ' ||
                           'Web_lp, Res_lp from mb' || old.ape_la || 'linped ' ||
                           'where num_lp = ' || old.npe_la || 'and ano_lp = ' || old.ape_la ||
                           'and lin_lp = ' || old.lin_la
                           into :CEN, :PTE, :PES, :LOF, :NPR, :FRE, :WEB, :RES;
También me daba un error similar otro campo del mismo tipo, el valor de este campo acabe sacandolo haciendo calculos en otra tabla donde podia realizar la consulta directamente sin necesidad de utilizar el Execute Statement.

Después de todo este rollo mi pregunta es si alguno de vosotros sabe a qué puede ser debido este problema.

Un Saludo y muchas gracias
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita