Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FCC 2023

Banco de DadosPostgreSQL
Código
fc070249
Banca
FCC
Órgão
TRT - 18ª Região (GO)
Ano
2023
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
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. ATRUNCATE TRT18_temp CASCADE;
  2. BDROP TABLE IF_EXISTS TRT18_temp;
  3. CDROP TABLE TRT18_temp;
  4. DTRUNCATE TABLE TRT18_temp;
  5. 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.

Gabarito: letra D.

Link permanente: /questoes/fc070249