From: | ruben avila galindo <ruben2218(at)gmail(dot)com> |
---|---|
To: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Uso de Cursores |
Date: | 2011-12-07 23:04:14 |
Message-ID: | CAKavrFrdi4fbjgpmppBbNjE8z0PTEy7h7ONUg_jiXKBKksmYyw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> Hola amigos me han pedido hacer la mejor forma optima no si si se puede
> con cursores y como se invoca o se procede a ejecutarlo please
> esto : me he creado una vista con todos los registros de mis maquinas algo
> asi
>
> Create View Maquinas
> Select * from maquinas where estado='E'
>
> esta bien lo q hago para que sea rapido por la cantidad de maquina y
> invocarlo dentro del store
>
en ejecucsion quisiera saber si el query me devuelve algo
> pero no preguntar si devolvio null y que proceda a correr otra cosa y ver
> su campo devuelve null
>
> Tabla Maquinas:id_maq,descripcion
>
>
> Tabla Valores:id_valor,fecha,monto1,monto2
>
>
> Parametros:
> Ingresar Fecha Inicio y Fecha Final
>
>
> Condiciones
> 1. Correrse 48 Horas atras
> Fecha Inicia Fecha Final
> si devuelve null la consulta entonces que ejecute la consulta normal Fecha
> Inicial between Fecha Fin.
>
> Nota acualmente me devuelve 1 consulta un solo registro con datos
> iniciales y otras con datos finales que se restan y seria el dato actual
> algo asi:
>
> Datos Iniciales
>
> SELECT
>
> valor,
>
> total_bill,
>
> coinin
>
> INTO
>
> vl_valorA,
>
> vl_total_billA,
>
> vl_coininA
>
> FROM
>
> sch_pbl.mcwin
>
> WHERE
>
> id_empresa = $1 AND
>
> id_casino = $2 AND
>
> id_maq_casino = vl_netwin_maqcasino.id_maq_casino AND
>
> f_h_medicion >= to_timestamp($7,
>
> (SELECT valor_char FROM sch_pbl.tabla
>
> WHERE UPPER(nombre_tabla)='DBCONST' AND
>
> UPPER(nombre_campo)='CHR_FORMATO_FECHA')) AND
>
> f_h_medicion < to_timestamp($8,
>
> (SELECT valor_char FROM sch_pbl.tabla
>
> WHERE UPPER(nombre_tabla)='DBCONST' AND
>
> UPPER(nombre_campo)='CHR_FORMATO_FECHA')) AND
>
> estado = 'E'
>
> ORDER BY f_h_medicion asc limit 1;
>
>
> -------------------------------------------------------------------------------
>
> Datos FINALES
>
> SELECT
>
> valor,
>
> total_bill,
>
> coinin
>
> INTO
>
> vl_valorB,
>
> vl_total_billB,
>
> vl_coininB
>
> FROM
>
> sch_pbl.mcwin
>
> WHERE
>
> id_empresa = $1 AND
>
> id_casino = $2 AND
>
> id_maq_casino = vl_netwin_maqcasino.id_maq_casino AND
>
> f_h_medicion > to_timestamp($7,
>
> (SELECT valor_char FROM sch_pbl.tabla
>
> WHERE UPPER(nombre_tabla)='DBCONST' AND
>
> UPPER(nombre_campo)='CHR_FORMATO_FECHA')) AND
>
> f_h_medicion <= to_timestamp($8,
>
> (SELECT valor_char FROM sch_pbl.tabla
>
> WHERE UPPER(nombre_tabla)='DBCONST' AND
>
> UPPER(nombre_campo)='CHR_FORMATO_FECHA')) AND
>
> estado = 'E'
>
> ORDER BY f_h_medicion desc limit 1;
>
> ----------------Proceso de Resrta
> Dato 1 - Dato 2 = Dato real
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Joaniquet | 2011-12-07 23:17:40 | Copia seguridad |
Previous Message | Alejandro Carrillo | 2011-12-07 22:55:38 | Re: error en funcion |