From: | Marco Vinicio Jimenez Rojas <viniciojr(at)gmail(dot)com> |
---|---|
To: | Rodrigo Gonzalez <rjgonzale(at)estrads(dot)com(dot)ar> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Alejandro Carrillo <fasterzip(at)yahoo(dot)es>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: error en funcion |
Date: | 2011-12-07 22:31:29 |
Message-ID: | CA+bgTXBKPfdDiNUuX2RxZTWb2-X81d-GLr7D-+GGpfeQ+RP_-w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
*ya logre resolver el asunto de la funcion haciendo unas correcciones en
las sugerencias que me dio alvaro y quitando esa asignacion. pero mi
pregunta es. si el insert asi como esta me devuelve el valor del seria con
el returnig como hago para capturarlo en una variable?*
*insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
monto_pago, estado) values(transp,
fecha,montoT,montoV, montoP,
estado)returning idpago_viajes;*
*Dejo aqui la estructura de la tabla*
*CREATE TABLE pago_viajes
(
idpago_viajes serial NOT NULL,
transportista integer NOT NULL,
fecha date,
monto_total numeric,
monto_vales numeric,
monto_pago numeric,
estado integer,
CONSTRAINT pago_viajes_pkey PRIMARY KEY (idpago_viajes)
)*
*muestro aqui la funcion tal como esta y que si funciona pero no puedo
campurar el serial*
*create function ingresoPago(transp integer, fechax date, montoT integer,
montoV integer,
montoP integer, estadox integer) returns integer as
$BODY$
DECLARE viaje integer = 0;
begin
insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
monto_pago, estado) values(transp, fechax,montoT,montoV, montoP,
estadox)returning idpago_viajes;
return viaje;
end;
$BODY$
language 'plpgsql';*
El 7 de diciembre de 2011 16:14, Rodrigo Gonzalez
<rjgonzale(at)estrads(dot)com(dot)ar>escribió:
> On 12/07/2011 06:53 PM, Alvaro Herrera wrote:
>
>> Excerpts from Alejandro Carrillo's message of mié dic 07 18:23:47 -0300
>> 2011:
>>
>>> no debería ser:
>>>
>>> viaje := insert into pago_viajes(transportista,
>>> fecha,monto_total,monto_vales,
>>> monto_pago, estado) values(transp,
>>> fecha,montoT,montoV, montoP,
>>> estado)returning idpago_viajes;
>>>
>>> faltan los 2 puntos para la asignación del campo serial
>>>
>> Tanto = como := sirven para la asignación en plpgsql.
>>
>> Que yo sepa insert no devuelve...
>
> tenes que cambiar por
>
>
> insert into pago_viajes(transportista, fecha,monto_total,monto_vales,
> monto_pago, estado) values(transp,
> fecha,montoT,montoV, montoP,
> estado) returning idpago_viajes into viaje;
>
> O sea, usar into<variable>
>
> Saludos
>
> Rodrigo
>
>
>
--
-----------------------
MVJR
From | Date | Subject | |
---|---|---|---|
Next Message | Alejandro Carrillo | 2011-12-07 22:55:38 | Re: error en funcion |
Previous Message | Rodrigo Gonzalez | 2011-12-07 22:14:13 | Re: error en funcion |