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

Responder a