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
ATRUNCATE TRT18_temp CASCADE;
BDROP TABLE IF_EXISTS TRT18_temp;
CDROP TABLE TRT18_temp;
DTRUNCATE TABLE TRT18_temp;
EEMPTY TABLE TRT18_temp;
Revelar gabarito e comentário▾
GabaritoD — TRUNCATE TABLE TRT18_temp;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PostgreSQL: Comando para esvaziar tabela
Gabarito: letra D. O comando TRUNCATE TABLE remove todas as linhas de uma tabela, mantendo sua estrutura — exatamente o que o técnico precisa. As demais alternativas ou excluem a tabela (DROP TABLE) ou usam sintaxe incorreta ou comando inexistente.
A banca testa o conhecimento dos comandos DDL do PostgreSQL, especialmente a diferença entre TRUNCATE e DROP. O comando TRUNCATE é uma instrução DDL que esvazia rapidamente uma tabela, não permitindo condições (diferente de DELETE). A sintaxe básica é TRUNCATE TABLE nome_da_tabela.
Comandos DDL (esvaziar vs. excluir)
1Esvaziar dados (mantém estrutura)
TRUNCATE TABLE
DELETE FROM (com/sem WHERE)
2Excluir tabela (remove estrutura)
DROP TABLE
DROP TABLE IF EXISTS
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A sintaxe TRUNCATE nome CASCADE omite a palavra TABLE. Embora o PostgreSQL aceite TRUNCATE sem TABLE, a forma padrão e exigida pela banca é com TABLE. Além disso, o CASCADE é opcional e não indicado no enunciado.
Alternativa B — ❌ Incorreta
Erro de sintaxe: o correto é IF EXISTS, com espaço, e não IF_EXISTS. Além disso, DROP TABLE exclui a tabela e seus dados, não apenas esvazia.
Alternativa C — ❌ Incorreta
DROP TABLE remove a definição da tabela e todos os seus dados. O enunciado pede apenas esvaziar os dados, mantendo a tabela.
Alternativa D — ✅ Correta ⟵ GABARITO
TRUNCATE TABLE TRT18_temp; é a instrução correta no PostgreSQL para remover todas as linhas da tabela de forma eficiente (DDL), preservando a estrutura.
Alternativa E — ❌ Incorreta
EMPTY TABLE não é um comando SQL válido no PostgreSQL. Não existe tal instrução.
Para fixar, veja a comparação:
Comando
O que faz
Estrutura da tabela
Permite filtro (WHERE)?
DROP TABLE
Exclui a tabela e seus dados
É removida
Não
TRUNCATE TABLE
Remove todos os dados
Permanece
Não
DELETE FROM
Remove dados (com ou sem filtro)
Permanece
Sim
PEGA ESSA DICA!
Na prova, lembre-se: se a questão quer esvaziar a tabela (remover todos os registros) sem excluí-la, o comando é TRUNCATE TABLE. Se quer excluir a tabela, é DROP TABLE. Se quer remover registros seletivamente, é DELETE.