update returning postgres into example ejemplo sql postgresql insert postgresql-9.2

into - PostgreSql INSERT FROM SELECT RETURNING ID



postgresql insert returning example (1)

En PostgreSql 9.2.4 tengo dos tablas: user (id, login, password, name) y dealer (id, user_id) .

Y quiero insertar en ambas tablas la devolución de la identificación del distribuidor creado.

Actualmente lo estoy haciendo con dos consultas:

WITH rows AS ( INSERT INTO "user" (login, password, name) VALUES (''dealer1'', ''jygbjybk'', ''Dealer 1'') RETURNING id ) INSERT INTO dealer (user_id) SELECT id FROM rows; SELECT currval(''dealer_id_seq'');

¿Pero puedo implementar esto con una sola consulta INSERT usando la instrucción RETURNING ?


Solo necesita agregar un RETURNING id a su INSERT ... SELECT :

WITH rows AS (...) INSERT INTO dealer (user_id) SELECT id FROM rows RETURNING id;

Demostración: http://sqlfiddle.com/#!12/75008/1