Sunday, June 8, 2008

Re: [pgsql-es-ayuda] generatedKeys, jdbc: no logro obtener llaves generadas

2008/6/8 Roberto Rodríguez Pino <rodpin@gmail.com>:
> Estoy haciendo una aplicacion en java y accedo a la base de datos usando
> JDBC, pero necesito ocupar el valor de una llave que fue generada
> automaticamente (serial).
> En java estoy ocupando el metodo getGeneratedKeys(propia de jdbc) que me
> debiera entregar las llaves que se crearon tras las llamada que hago a
> una funcion de postgres.

el metodo getGeneratedKeys() no esta implementada en el jdbc de postgres

[...]
>
> La funcion que tengo en postgres es;
>
> CREATE OR REPLACE function ingresarVoucherEntrada( _idEmpleado "int4",
> _idProveedor "int4", _fechaEmision"date", _documentoAsociado"int4")
> returns void as $$
>
> BEGIN
> insert into voucherEntrada (idEmpleado, idProveedor, fechaEmision,
> docuementoasociado)
> values (_idEmpleado, _idProveedor, _fechaEmision,_documentoAsociado)
> ;
> END
> $$LANGUAGE 'plpgsql' VOLATILE;
>

una solucion podria ser:
CREATE OR REPLACE function ingresarVoucherEntrada( _idEmpleado "int4",
_idProveedor "int4", _fechaEmision"date", _documentoAsociado"int4")
returns int as $$

insert into voucherEntrada (idEmpleado, idProveedor, fechaEmision,
docuementoasociado)
values (_idEmpleado, _idProveedor, _fechaEmision,_documentoAsociado)
returning PonAquiElNombreDeTuCampoSerial ;

$$ LANGUAGE 'sql' VOLATILE;

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 87171157
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?

http://archives.postgresql.org/pgsql-es-ayuda

No comments: