QUEST #254 · DML

Retorno Mágico RETURNING

A maga Luna acaba de se alistar. O escrivão precisa registrá-la e anotar na hora o número de matrícula que o livro gerou — sem fazer uma segunda consulta.

LV.1+60 XP
📖 CONCEITO

INSERT INTO tabela (colunas) VALUES (...) adiciona linhas; as colunas omitidas recebem seu DEFAULT (o id SERIAL, por exemplo). A cláusula RETURNING, extensão do Postgres, devolve colunas das linhas inseridas como se fosse um SELECT — perfeita para descobrir o id gerado na mesma ida ao banco.

EXEMPLO DE USO
INSERT INTO guildas (nome, cidade)
VALUES ('Escudo de Ferro', 'Karak')
RETURNING id, nome;
🗄️ SCHEMA
Tabela `herois` (id SERIAL PRIMARY KEY, nome TEXT, classe TEXT, nivel INT, hp INT, ouro INT, guilda_id INT — pode ser NULL)
🎯 DESAFIO

Insira em `herois` uma heroína com `nome` 'Luna', `classe` 'Maga' e `nivel` 1, informando apenas essas três colunas, e devolva `id` e `nome` da nova linha com RETURNING.

psql — banco reino⌨ QUERY