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 13:04:22 |
Message-ID: | 76A99F19229DC440909CF1B905F8012C072ED482@sar001998.Mapfre.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Ups, me mataste...
Bien, lo voy a investigar a ver como resulta.
Gracias!
-----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 11:01 a.m.
Para: pgsql-es-ayuda
Asunto: Re: [pgsql-es-ayuda] Llamar a procedimiento el pgsql
El día 14 de enero de 2009 10:49, Conrado Blasetti
<conrado(at)mapfre(dot)com(dot)ar> escribió:
> Gracias por responder, efectivamente no funciona.
>
> -----Mensaje original-----
> De: Alberto Cabello Sanchez [mailto:alberto(at)unex(dot)es]
> Enviado el: Miércoles, 14 de Enero de 2009 10:24 a.m.
> Para: Conrado Blasetti
> CC: pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: Re: Llamar a procedimiento el pgsql
>
> On Wed, Jan 14, 2009 at 09:56:57AM -0200, Conrado Blasetti wrote:
>> Gente, buenos días.
>> Se puede desde pgsql llamar a un procedimiento con parámetros referenciando
>> cada parámetro como en Oracle?
>>
>> Llamo al proc: myProc ( param1 => valor1, param2 => valor2 );
>>
>> Se puede?
>
> No he podido encontrar una manera equivalente, pero eso en concreto no
> funcionará en PostgreSQL:
>
> CREATE FUNCTION echo(a integer) RETURNS integer AS $$
> DECLARE
> BEGIN
> return a;
> END;
> $$ LANGUAGE plpgsql;
>
> select echo(a=>1);
> ERROR: no existe la columna «a»
> LINEA 1: select echo(a=>1);
> ^
>
Pero se puede hacer compatible...
Se puede crear la referencia con un operador que ignore eso...
CREATE FUNCTION pg_catalog.referenciaOracle(text,text)
RETURNS text STRICT IMMUTABLE
LANGUAGE SQL AS 'SELECT $1;' ;
CREATE OPERATOR pg_catalog.=> (
PROCEDURE = referenciaOracle,
LEFTARG = text,
RIGHTARG = text
);
lo que si para llamarlo seria ( param1 => valor ) -- sin los ()
no lo probé, pero debería funcionar...
> --
> -----------------------
> Alberto Cabello Sánchez
> alberto(at)unex(dot)es
> --
> TIP 2: puedes desuscribirte de todas las listas simultáneamente
> (envía "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
>
--
Emanuel Calvo Franco
ArPUG / AOSUG Member
Postgresql Support & Admin
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2009-01-14 13:17:31 | Re: Llamar a procedimiento el pgsql |
Previous Message | Emanuel Calvo Franco | 2009-01-14 13:00:30 | Re: Llamar a procedimiento el pgsql |