FC ConcursosFC Concursos

Questão FC372785

Para definir uma ação alternativa caso um registro proposto viole uma restrição de unicidade no PostgreSQL, deve-se usar o comando

Linguagem SQL

FCC · 2024

Para definir uma ação alternativa caso um registro proposto viole uma restrição de unicidade no PostgreSQL, deve-se usar o comando 

  1. ON CONFLICT
  2. ON EQUAL
  3. WHEN CONFLICT
  4. ON MATCHED
  5. WHEN MATCHED
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A resposta correta é ON CONFLICT. Essa cláusula é usada junto com INSERT no PostgreSQL para tratar tentativas de inserção que violariam restrições de unicidade, permitindo definir uma ação alternativa sem gerar erro.

Com ON CONFLICT você pode escolher, por exemplo, DO NOTHING — ignorar a inserção conflitante — ou DO UPDATE — atualizar o registro existente com os valores novos. Isso implementa o chamado upsert (combinação de update e insert).

É possível especificar o alvo do conflito, por exemplo:
INSERT INTO tabela (id, nome) VALUES (1, 'A') ON CONFLICT (id) DO UPDATE SET nome = EXCLUDED.nome;

Note que a palavra EXCLUDED refere-se aos valores propostos originalmente para inserção, permitindo construir a atualização condizente com os novos dados.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo