RE: Retornar cursor

From: Fernando Siguenza <fsigu(at)hotmail(dot)com>
To: <jchavezb(at)gmail(dot)com>, Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Retornar cursor
Date: 2008-11-21 16:41:13
Message-ID: COL111-W547017B8B7C690ED428177A10F0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Amigos muchas gracias les voy a poner lo que m,as o menos es lo que quiero para ver si les aclaro un poco mas lo que necesito,

tengo esta funcion


CREATE OR REPLACE FUNCTION ConsultaMayor1(vAgeCod varchar,vCuenta varchar,FecIni date,FecFin Date) RETURNS SETOF record AS $$DECLARE vSalAnt numeric;
rSaldo record; cMayor record;
BEGIN
--sacamos el saldo anterior --SELECT into rSaldo asicuecod,sum(asideb)-sum(asihab) as saldo FROM asicab,asidet WHERE asicab.asiagecod=asidet.asiagecod and asicab.asidoc=asidet.asidoc and asicab.asinum=asidet.asinum and asidet.asicuecod=vCuenta and asifec< FecIni;vSalAnt:=rSaldo.saldo;

*obtenemos los movimientos de la cuenta for cMayor in SELECT asicab.asifec,asicab.asidoc,asicab.asinum,asicab.asides,asicab.asiben,asicab.asiref,asidet.asideb,asidet.asihab,asidet.asiobs FROM asicab,asidet WHERE asicab.asiagecod=asidet.asiagecod and asicab.asidoc=asidet.asidoc and asicab.asinum=asidet.asinum and asidet.asicuecod=vCuenta and asifec>= FecIni and asifec<=FecFin ORDER BY asifec loop

aqui es donde necesito tener una columa adicional con nombre saldo la cual le asigno el saldo anterio + el debe - haber;
y si es posible poner como primer registro uno que diga solo Saldo Anterior y el valor de la varieble vSalAnt

end loop;

y por ultimo quiero retornar el cursor cmayor

END;$$LANGUAGE 'plpgsql';


Espero me puedan ayudar

> Date: Fri, 21 Nov 2008 15:56:10 +0000> From: jchavezb(at)gmail(dot)com> To: fsigu(at)hotmail(dot)com; pgsql-es-ayuda(at)postgresql(dot)org> Subject: Re: [pgsql-es-ayuda] Retornar cursor> > On Fri, Nov 21, 2008 at 3:44 PM, Fernando Siguenza <fsigu(at)hotmail(dot)com> wrote:> > El problema es que en no se com crear un cursor en pgplsql, y como manipular> > esta informacion> CC a la Lista porque ahi mas gente que te puede ayudar....> > > Espro me puedas ayudar> > solo veo en el ejemplo que se crea una variable de tipo cursor, pero como le> > indico que columnas quiero qyue tenga ese cursor??> > Eso es la consulta o "query" que TU tienes que implementar ... si ves> el codigo en esta parte :> > > open CurPromReal FOR> (> SELECT SUM(val_real) as val_real> FROM nm_preno> WHERE nm_preno.cod_empr = PSiCodEmpr AND> nm_preno.cod_empl = PDeCodEmpl AND> nm_preno.nro_cont = PStNroCont AND> nm_preno.cod_conc = PSiCodConc AND> nm_preno.fec_acum >= PDtFecInic AND> nm_preno.fec_acum <= PDtFecFina> UNION> SELECT SUM(val_real) as val_real> FROM nm_acumu> WHERE nm_acumu.cod_empr = PSiCodEmpr AND> nm_acumu.cod_empl = PDeCodEmpl AND> nm_acumu.nro_cont = PStNroCont AND> nm_acumu.cod_conc = PSiCodConc AND> nm_acumu.fec_acum >= PDtFecInic AND> nm_acumu.fec_acum <= PDtFecFina);> > Aqui tu codificas TU consulta ... y adaptas el ejemplo a tus> necesidades ... me entiendes????> > aqui esta la documentacion :> > http://www.postgresql.org/docs/current/static/plpgsql-cursors.html> > Dale una vuelta .. sino sabes ingles el traductor de google puede irte> dando luces...> > Respecto a C# primero trata de armar tu cursor.. despues vemos algun> tipo de ayuda para esa parte ....> > Slds.> > J.> > > > > Saludos> >> > > > > -- > Cumprimentos> jchavez> linux User #397972 on http://counter.li.org/> --> TIP 2: puedes desuscribirte de todas las listas simultáneamente> (envía "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
_________________________________________________________________
Windows Live Hotmail now works up to 70% faster.
http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_faster_112008

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2008-11-21 17:34:56 Re: Fwd: PG Day
Previous Message Alvaro Herrera 2008-11-21 16:35:38 Re: Fwd: PG Day