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 >________________________________ > De: Marco Vinicio Jimenez Rojas <vinici...@gmail.com> >Para: Lista de Postgres <pgsql-es-ayuda@postgresql.org> >Enviado: miércoles 7 de diciembre de 2011 16:20 >Asunto: [pgsql-es-ayuda] error en funcion > > >estoy aprendiendo a hacer funciones en postgres y esto no me funciona, le paso >el codigo de una funcion que recibe unos datos por parametro y quiero hacer un >insert, necesito que me ayuden a corregir la funcion o por lo menos saber >cuales son mis errores en esta funcion. gracias. > >create function ingresoPago(transportista integer, fecha date, montoT integer, >montoV integer, >montoP integer, estado integer) returns integer as >$BODY$ >DECLARE viaje integer = 0; >begin > viaje = insert into pago_viajes(transportista, >fecha,monto_total,monto_vales, > monto_pago, estado) values(transp, fecha,montoT,montoV, >montoP, > estado)returning idpago_viajes; > > return viaje; >end; >$BODY$ >language 'plpgsql'; > >-- > >----------------------- >MVJR > > >