Ups, me mataste... Bien, lo voy a investigar a ver como resulta. Gracias! -----Mensaje original----- De: [email protected] [mailto:[email protected]] 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 <[email protected]> escribió: > Gracias por responder, efectivamente no funciona. > > -----Mensaje original----- > De: Alberto Cabello Sanchez [mailto:[email protected]] > Enviado el: Miércoles, 14 de Enero de 2009 10:24 a.m. > Para: Conrado Blasetti > CC: [email protected] > 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 > [email protected] > -- > TIP 2: puedes desuscribirte de todas las listas simultáneamente > (envía "unregister TuDirecciónDeCorreo" a [email protected]) > -- Emanuel Calvo Franco ArPUG / AOSUG Member Postgresql Support & Admin -- TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo -- TIP 4: No hagas 'kill -9' a postmaster
