ejecutar funcion de retorno de curosr dentro de otra

From: Felipe Amezquita <felmarla(at)gmail(dot)com>
To: gonzalemario(at)gmail(dot)com
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: ejecutar funcion de retorno de curosr dentro de otra
Date: 2006-02-01 22:30:05
Message-ID: bf4cfe570602011430o69447606m@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

tengo las siguiente fucnion usando cursores y necesito llamarla dentro de
otra para hacer update e insert como la ejecuto dentro de dicha funcion
CREATE OR REPLACE FUNCTION obtener_consecutivo_factura("varchar", refcursor)
RETURNS refcursor AS
$BODY$
DECLARE
existePref Numeric;
consecFac numeric;

BEGIN

existePref := existe_prefijo_consecutivo(in_pref_prefijo);
if (existePref = 0) then
raise exception 'El prefijo indicado no tiene consecutivo
automatico.';
end if;

select prefcon_numero INTO consecFac from prefijo_consecutivo where
pref_prefijo = in_pref_prefijo for update;
consecFac:= consecFac + 1;

update prefijo_consecutivo set prefcon_numero = consecFac where
pref_prefijo = in_pref_prefijo;
open $2 for select consecFac as fac_numero;
return 2;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

CREATE OR REPLACE FUNCTION insertar_cuotaafi_prg("numeric", date, "numeric",
"numeric", "varchar")
RETURNS "numeric" AS
$BODY$
DECLARE
cursorConsecfactura refcursor;
consecFac factura.fac_numero%type;
tipoFactura tipo.tip_codigo%type;
codUSuario Numeric;
BEGIN
obtener_consecutivo_factura('CUA',cursorConsecFactura);

LOOP
FETCH cursorConsecFactura into consecFac;

END LOOP;

tipoFactura := get_codigo_tipo('Talonario','Facturas');
codUsuario := get_codigo_usuario(in_usuario);

insert into factura values('CUA', consecFac, in_oco_codigo_venta,
in_prg_fecha_solicitud,current_date,
in_valor_cuotaAfi, in_valor_cuotaAfi, 0,
in_valor_cuotaAfi, 0, null,
in_valor_cuotaAfi, tipoFactura, 'Ac',
null, codUsuario, null);

insert into factura_programa values('CUA', consecFac,
in_prg_codigo);
return 1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
--
Ing Sistemas y Telecomunicaciones
Luis Felipe Lopez Amezquita
3008217523 - 3162589699

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-02-01 22:32:48 Re: Copia de seguridad
Previous Message Alvaro Herrera 2006-02-01 22:27:44 Re: Problema con update