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
- TRUNCATE TRT18_temp CASCADE;
- DROP TABLE IF_EXISTS TRT18_temp;
- DROP TABLE TRT18_temp;
- TRUNCATE TABLE TRT18_temp;
- 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