FC ConcursosFC Concursos

Questão FC372996

Em um banco de dados PostgreSQL 13 aberto e funcionando em condições ideais, existe uma tabela denominada TRT18_temp. Um Técnico foi solicitado a esvaziar todos os dados dessa tabe

Sistema de Gerenciamento de Banco de Dados (SGBD)

FCC · 2023

Em um banco de dados PostgreSQL 13 aberto e funcionando em condições ideais, existe uma tabela denominada TRT18_temp. Um Técnico foi solicitado a esvaziar todos os dados dessa tabela. Para isso, ele utilizou o comando

  1. TRUNCATE TRT18_temp CASCADE;
  2. DROP TABLE IF_EXISTS TRT18_temp;
  3. DROP TABLE TRT18_temp;
  4. TRUNCATE TABLE TRT18_temp;
  5. EMPTY TABLE TRT18_temp;
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

O comando correto é TRUNCATE TABLE TRT18_temp;. Ele remove todas as linhas da tabela de forma imediata, sem aceitar cláusula WHERE, ou seja, não há como filtrar registros a serem mantidos.

Em PostgreSQL esse comando age sobre as páginas de dados, tornando a operação muito mais rápida que apagar linha a linha. Além disso, devolve espaço ao sistema e gera menos registros detalhados no WAL do que múltiplos DELETE.

Importante: em PostgreSQL o TRUNCATE é transacional — pode ser revertido se executado dentro de uma transação não confirmada — e não reinicia automaticamente sequências vinculadas, a menos que se use a opção RESTART IDENTITY.

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

Continue aprendendo