[Pgsql-ayuda] function syb/pgsql
sandrigo lezcano
psql@msa.com.py
Mon, 2 Jun 2003 12:01:35 -0500
This is a multi-part message in MIME format.
------=_NextPart_000_0013_01C328FE.B7395D20
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
un modelito por favor...
si este es mi funcion en Sybase=20
obs: T_GUARANIES tendria q definirlo como numeric(13,2)
--- sybase function -----------------------------------------
alter function=20
sal.f_aporte_ips(in @lugar smallint,in @anio integer,in @mes integer)
returns T_GUARANIES=20
begin=20
declare @ips T_GUARANIES;
select sum(round(novedades_proceso_historico.base=20
* novedades_proceso_historico.cantidad=20
* novedades_proceso_historico.factor,0))
into @ips from novedades_proceso_historico,cargos_unidades
where (novedades_proceso_historico.legajo =3D =
cargos_unidades.legajo)
and (cargos_unidades.lugar_de_trabajo =3D @lugar)=20
and (novedades_proceso_historico.anio =3D @anio) =20
and (novedades_proceso_historico.mes =3D @mes)=20
and (novedades_proceso_historico.planilla =3D '1')
and (novedades_proceso_historico.numero_proceso =3D 9)
and (novedades_proceso_historico.novedad =3D 50)=20
and (month(cargos_unidades.fecha_egreso) =3D @mes);
return @ips=20
end
---- en PostgreSQL ---------------------------
create function f_aporte_ips(lugar int2, anio integer, mes integer)
returns numeric(13,2) AS '
declare=20
ips numeric(13,2);
begin
select sum(round(novedades_proceso_historico.base=20
* novedades_proceso_historico.cantidad=20
* novedades_proceso_historico.factor,0))
into ips from novedades_proceso_historico,cargos_unidades
where (novedades_proceso_historico.legajo =3D =
cargos_unidades.legajo)
and (cargos_unidades.lugar_de_trabajo =3D lugar)=20
and (novedades_proceso_historico.anio =3D anio) =20
and (novedades_proceso_historico.mes =3D mes)=20
and (novedades_proceso_historico.planilla =3D '1')
and (novedades_proceso_historico.numero_proceso =3D 9)
and (novedades_proceso_historico.novedad =3D 50)=20
and (month(cargos_unidades.fecha_egreso) =3D mes);
end;
' language 'sql';
-------------------------
____________________________________________________
Sandrigo Lezcano Jara Asunci=F3n, Paraguay
usando______: Ret Hat 7.2 (Enigma) - Kernel 2.4.7-10=20
PostgreSQL 7.1.3 - psqlODBC 7.02.00.01
migrando____: Sybase 6.5 al PostgreSQL=20
front end___: PowerBuilder 6.5 =20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DICQ:143590717=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
____________________________________________________
------=_NextPart_000_0013_01C328FE.B7395D20
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>un modelito por favor...</DIV>
<DIV>si este es mi funcion en Sybase </DIV>
<DIV>obs: T_GUARANIES tendria q definirlo como numeric(13,2)</DIV>
<DIV> </DIV>
<DIV>--- sybase function -----------------------------------------</DIV>
<DIV>alter function <BR> sal.f_aporte_ips(in @lugar =
smallint,in=20
@anio integer,in @mes integer)<BR> returns T_GUARANIES =
</DIV>
<DIV> </DIV>
<DIV>begin <BR> declare @ips T_GUARANIES;<BR> select=20
sum(round(novedades_proceso_historico.base </DIV>
<DIV> *=20
novedades_proceso_historico.cantidad=20
<BR> *=20
novedades_proceso_historico.factor,0))<BR> into @ips from=20
novedades_proceso_historico,cargos_unidades<BR> where=20
(novedades_proceso_historico.legajo &n=
bsp; =20
=3D cargos_unidades.legajo)<BR> and=20
(cargos_unidades.lugar_de_trabajo &nbs=
p; =20
=3D @lugar) <BR> and=20
(novedades_proceso_historico.anio &nbs=
p; =20
=3D @anio) <BR> and=20
(novedades_proceso_historico.mes  =
; =20
=3D @mes) <BR> and=20
(novedades_proceso_historico.planilla =
=3D=20
'1')<BR> and (novedades_proceso_historico.numero_proceso =3D =
9)<BR> and=20
(novedades_proceso_historico.novedad &=
nbsp; =3D=20
50) <BR> and=20
(month(cargos_unidades.fecha_egreso) &=
nbsp; =3D=20
@mes);</DIV>
<DIV> </DIV>
<DIV> return @ips <BR>end</DIV>
<DIV> </DIV>
<DIV>---- en PostgreSQL ---------------------------</DIV>
<DIV>create function f_aporte_ips(lugar int2, anio integer, mes=20
integer)<BR> returns numeric(13,2) AS '</DIV>
<DIV> declare </DIV>
<DIV> ips=20
numeric(13,2);<BR> begin</DIV>
<DIV> select=20
sum(round(novedades_proceso_historico.base
<DIV> =20
*=20
novedades_proceso_historico.cantidad=20
<BR> =20
*=20
novedades_proceso_historico.factor,0))<BR> into =
ips=20
from novedades_proceso_historico,cargos_unidades<BR> =20
where=20
(novedades_proceso_historico.legajo &n=
bsp; =20
=3D cargos_unidades.legajo)<BR> and=20
(cargos_unidades.lugar_de_trabajo &nbs=
p; =20
=3D lugar) <BR> and=20
(novedades_proceso_historico.anio &nbs=
p; =20
=3D anio) <BR> and=20
(novedades_proceso_historico.mes  =
; =20
=3D mes) <BR> and=20
(novedades_proceso_historico.planilla =
=3D=20
'1')<BR> and=20
(novedades_proceso_historico.numero_proceso =3D 9)<BR> =
and=20
(novedades_proceso_historico.novedad &=
nbsp; =3D=20
50) <BR> and=20
(month(cargos_unidades.fecha_egreso) &=
nbsp; =3D=20
mes);</DIV></DIV>
<DIV> end;</DIV>
<DIV> ' language 'sql';</DIV>
<DIV> </DIV>
<DIV>-------------------------</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>____________________________________________________<BR>Sandrigo =
Lezcano=20
Jara &nb=
sp;=20
Asunci=F3n, Paraguay<BR>usando______: Ret Hat 7.2 (Enigma) - Kernel =
2.4.7-10=20
<BR> &nb=
sp; =20
PostgreSQL 7.1.3 - psqlODBC 7.02.00.01<BR>migrando____: Sybase =
6.5 =20
al PostgreSQL <BR>front end___: PowerBuilder=20
6.5 =20
<BR>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DICQ:143590717=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<BR>_________=
___________________________________________</DIV></BODY></HTML>
------=_NextPart_000_0013_01C328FE.B7395D20--