Retornando linhas inseridas junto com um INSERT

Você pode retornar as linhas inseridas em um INSERT da seguinte forma:

INSERT INTO tabela (id, nome, valor)
VALUES (232,'Jonas',34343.34)
RETURNING id, nome, valor
--Ou para retornar todas as linhas: RETURNING *

Se você quiser fazer outro INSERT com o resultado da saída desse INSERT, pode fazer assim:

WITH ins AS (
INSERT INTO test (value)
VALUES (123.123123123)
RETURNING *
)
INSERT INTO test (value)
SELECT value
FROM ins;

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *