Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2025

Banco de DadosSQL
Código
qg479571
Banca
FUNDATEC
Órgão
Prefeitura de Tangará da Serra - MT
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas
Considere uma tabela nomeada como TB_CONCURSO em um SGBD SQL Server 2022. Assinale a alternativa que corresponde a um comando SQL que irá excluir todos os registros da tabela TB_CONCURSO, mantendo a estrutura da tabela.
  1. ADELETE TB_CONCURSO;
  2. BTRUNCATE TABLE TB_CONCURSO;
  3. CUPDATE TB_CONCURSO SET NULL;
  4. DDROP TABLE TB_CONCURSO;
Revelar gabarito e comentário

GabaritoB — TRUNCATE TABLE TB_CONCURSO;

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”.

Comandos SQL para exclusão de registros mantendo estrutura

Gabarito: letra B. O comando TRUNCATE TABLE é o padrão SQL para remover todas as linhas de uma tabela preservando sua estrutura (colunas, índices, etc.). Diferentemente do DELETE (alternativa A), que também mantém a estrutura mas é um comando DML com log individual por linha e menor desempenho, o TRUNCATE é um comando DDL que libera espaço rapidamente. O DROP TABLE (D) remove a tabela por completo, e o UPDATE (C) apenas modifica dados, sem excluí-los.

Comando SQL

Tipo de Comando

Efeito sobre os Registros

Efeito sobre a Estrutura da Tabela

Indicado para Exclusão Total?

DELETE TB_CONCURSO;

DML (Data Manipulation Language)

Remove todas as linhas (uma a uma, com log)

Mantém a estrutura

Sim, mas menos eficiente

TRUNCATE TABLE TB_CONCURSO;

DDL (Data Definition Language)

Remove todas as linhas (em massa, sem log individual)

Mantém a estrutura

Sim, mais rápido e eficiente

UPDATE TB_CONCURSO SET NULL;

DML

Não remove; apenas define valores como NULL

Mantém a estrutura

Não

DROP TABLE TB_CONCURSO;

DDL

Remove todos os registros

Remove a estrutura (tabela deixa de existir)

Não

1DDL (rápido, zera identidade)
TRUNCATE TABLE
2DML (lento, log por linha)
DELETE (com/sem FROM)
3Exclui estrutura
DROP TABLE
4Não exclui registros
UPDATE SET NULL
Exclusão mantendo estrutura
LEVELsoulevel.com.br
Exclusão mantendo estrutura: DDL (rápido, zera identidade) (TRUNCATE TABLE); DML (lento, log por linha) (DELETE (com/sem FROM)); Exclui estrutura (DROP TABLE); Não exclui registros (UPDATE SET NULL)

Alternativa A — ❌ Incorreta

DELETE TB_CONCURSO; (ou DELETE FROM) é um comando DML que pode, sim, excluir todos os registros mantendo a estrutura, porém não é a opção mais eficiente nem a mais indicada quando se deseja limpar a tabela por completo. Além disso, há risco de confusão com a ausência da cláusula FROM, embora no SQL Server a sintaxe sem FROM seja aceita. A banca elegeu o TRUNCATE como resposta correta por sua característica de exclusão em massa e rápida, sem registro transacional linha a linha.

Alternativa B — ✅ Correta ⟵ GABARITO

TRUNCATE TABLE TB_CONCURSO; remove todas as linhas da tabela, zera os contadores de identidade (se houver) e mantém intacta a definição da tabela. É o comando exato para a finalidade descrita.

Alternativa C — ❌ Incorreta

UPDATE TB_CONCURSO SET NULL; não exclui registros; apenas define todas as colunas como NULL. A tabela continuará com o mesmo número de linhas, todas com valores nulos.

Alternativa D — ❌ Incorreta

DROP TABLE TB_CONCURSO; exclui a tabela inteira, incluindo sua estrutura (colunas, índices, constraints). Após sua execução, a tabela deixa de existir, o que contraria o requisito de manter a estrutura.

PEGA ESSA DICA!

Grave a diferença fundamental: DELETE = DML (exclusão seletiva, transacional, lenta); TRUNCATE = DDL (exclusão total, não transacional, rápida). Ambos mantêm a estrutura, mas o TRUNCATE é o mais indicado na exclusão completa de dados.

Link permanente: /questoes/qg479571