Power Builder - Actualizar con EXECUTE...

   
Vista:
Imágen de perfil de Antonio

Actualizar con EXECUTE...

Publicado por Antonio (1114 intervenciones) el 30/09/2008 06:16:26
Hola a todos:

necsito de su ayuda para resolver un problemilla...

Resulta que tengo una tabla, esta tabla tiene los siguientes campos:

DIA ENERO FEBRERO MARZO ABRIL MAYO JUNIO JULIO AGOSTO SEPTIEMBRE

En el campo día tengo el día de cada mes y en las siguientes columnas (ENERO, FEBRERO, ETC) necesito actualizar los campos con valores numericos de acuerdo al dia y el mes.

Por ejemplo:

tengo el valor de 12,298 y este valor corresponde al día 29 de Septiembre.

Ahora bien, tengo el siguiente código:

string ls_meses[12] = {'ENERO','FEBRERO','MARZO','ABRIL',..etc}
string ls_mes_actual
integer li_dia,li_mes
long ll_valor

li_dia = Day ( Today() )
li_mes= Month ( Today() )
ll_valor = 12298
ls_mes_actual = ls_meses[li_mes]

pues ahora necesito guardar ese valor en el campo correspondiente al mes y al día a traves de un EXECUTE...

algo similar a éste código que inserta registros de acuerdo al valor enviado.

INT Dept_id_var = 156
String Dept_name_var

SetNull(Dept_name_var)
PREPARE SQLSA
FROM "INSERT INTO dept VALUES (?,?)" ;
EXECUTE SQLSA USING :Dept_id_var,:Dept_name_var ;


gracias por su apoyo y/o comentarios
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Actualizar con EXECUTE...

Publicado por anonimo (70 intervenciones) el 15/10/2008 20:07:20
Por que no armas una cadena y luego la ejecutas

12298
ls_val
ls_dia
ls_mes
ls_execute
ls_casemes

ls_val = Mid (12298 ..)
ls_dia = Mid (12298 ..)
ls_mes = Mid (12298 ..)

Choose Case integer(ls_mes)
Case 1
ls_casemes = "enero"
Case ......

End Choose

ls_execute = "Insert into dep (DIA ,"+ls_casemes+")" &
+"select "+ls_dia +","+ls_val

Execute immediate :ls_execute
Commit ;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar