Uso de Cursores

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
>
>
>
>

Browse pgsql-es-ayuda by date

  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