Mi Neurona Favorita

Analizando

Posts Tagged ‘postgres sql

Función currval en Postgres

with one comment

Tenemos la siguiente situación: necesitamos hacer un script SQL para Postgres que inserte un valor en una determinada tabla, y para la PK hacemos uso de la función nextval sobre la secuencia. ¿Qué ocurre si a continuación necesitamos ese valor devuelto por la secuencia?

Pongamos un ejemplo práctico. Tenemos la clásica relación empleado – departamento:

department(id, name)
employee (id, name, id_department)

Necesitamos, mediante scripts, añadir un departamento y asignárselo al empleado llamado ‘John’. Además tenemos que hacer uso de la secuencia en el insert. Lo podríamos hacer de la siguiente forma:

INSERT INTO department VALUES (nextval('seq_department'), 'New department');
UPDATE employee SET id_department=currval('seq_department') WHERE name='John';

Written by Recacha

27 agosto 2012 at 17:00

Publicado en Base de datos

Tagged with