RE: Llamar a procedimiento el pgsql

From: "Conrado Blasetti" <conrado(at)mapfre(dot)com(dot)ar>
To: "Emanuel Calvo Franco" <postgres(dot)arg(at)gmail(dot)com>, "pgsql-es-ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Llamar a procedimiento el pgsql
Date: 2009-01-14 12:49:33
Message-ID: 76A99F19229DC440909CF1B905F8012C072ED3AF@sar001998.Mapfre.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Emanuel, gracias por responder.
En realidad no quiero cambiar ni el orden ni cambiar los parámetros, solo reverenciarlos al momento de llamar.

La idea es que, en el procedimiento donde se llame a la funcion, saber que significado tiene cada parámetro, mas que nada para tenerlos presente.

Generalmente cuando llamo a una funcion con parámetros, las variables que le paso son lo suficientemente aclaratorias para saber que estoy enviando.

Ej.

parámetros de funcion "calculo"...

pv_importe numeric,
pv_orden integer,
pv_puesto integer,
pv_clave character varying
...

Al momento de llamarla, puedo tener:

ret := calculo( f_obtengo_resultado(),
l_orden,
f_devuelvo_jerarquia(),
l_key);

Bien, es entendible, no es sobre-carga, pero la costumbre tira (de Oracle) y necesitaba:

ret := calculo(pv_importe => f_obtengo_resultado(),
pv_orden => l_orden,
pv_puesto => f_devuelvo_jerarquia(),
pv_clave => l_key );

Es a modo de poder saber bien que es lo que espera la funcion, nada mas.

Conrado

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Emanuel Calvo Franco
Enviado el: Miércoles, 14 de Enero de 2009 10:16 a.m.
Para: pgsql-es-ayuda
Asunto: Re: [pgsql-es-ayuda] Llamar a procedimiento el pgsql

2009/1/14 Conrado Blasetti <conrado(at)mapfre(dot)com(dot)ar>:
> Gente, buenos días.
> Se puede desde pgsql llamar a un procedimiento con parámetros referenciando cada parámetro como en Oracle?
>
> El procedimiento lo tengo definido:
>
> CREATE OR REPLACE FUNCTION myProc( param1 character varying, param2 character varying) RETURNS text AS ....
>
> Desde pgsql lo llamo asi:
>
> Llamo al proc: myProc(valor1, valor2 );
>
> En Oracle puedo llamarlo asi referenciando los parámetros tal cual están creados:
>
> Llamo al proc: myProc ( param1 => valor1, param2 => valor2 );
>

No. Porque las funciones son polimórficas, si cambian los paramámetros
y el orden
cambia la función.
Me gustaría saber en que puede variar la llamada a la función que hace
necesario la
referencia (para ver si un operador puede solventar eso).

> Se puede?
>
> Desde ya, gracias
> Conrado
>
>
> --
> TIP 7: no olvides aumentar la configuración del "free space map"
>

--
Emanuel Calvo Franco
ArPUG / AOSUG Member
Postgresql Support & Admin
--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Conrado Blasetti 2009-01-14 12:49:51 RE: Llamar a procedimiento el pgsql
Previous Message Emanuel Calvo Franco 2009-01-14 12:34:15 Re: Problemas con DBI-link - Oracle