Técnico Judiciário - Especialidade - Programação de Sistemas
Alison utilizou o seguinte comando SQL para inserir registros em uma tabela.INSERT INTO TB_A (COL_1, COL_2)SELECT COL_X, COL_YFROM TAB_B;Após a execução do comando, Alison percebeu que a tabela origem dos dados estava errada, deveria ser TB_C. Para apagar os registros da tabela TB_A mantendo sua estrutura, Alison deve executar o comando:
ADROP TABLE TB_A;
BALTER TABLE TB_A ADD COL_Y INT, COL_Y INT;
CDELETE FROM TABLE TB_A WHERE COL_X = COL_Y;
DUPDATE TB_A SET 1=1;
ETRUNCATE TABLE TB_A.
Revelar gabarito e comentário▾
GabaritoE — TRUNCATE TABLE TB_A.
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: DDL e DML — Exclusão de dados mantendo a estrutura
Gabarito: letra E. Para apagar todos os registros de uma tabela sem remover sua estrutura, o comando correto é TRUNCATE TABLE TB_A. Enquanto DROP TABLE elimina a tabela por completo, o TRUNCATE é a instrução de DDL que limpa os dados preservando o esquema.
A questão testa a distinção entre comandos de exclusão no SQL: DROP (DDL) remove a tabela; DELETE (DML) remove registros seletivamente; TRUNCATE (DDL) remove todos os registros de forma rápida, mantendo a estrutura.
Alternativa A — ❌ Incorreta
DROP TABLE TB_A elimina a tabela inteira (dados + estrutura). Alison quer apagar apenas os dados inseridos, por isso essa opção não atende.
Alternativa B — ❌ Incorreta
O comando ALTER TABLE serve para modificar a estrutura da tabela (adicionar, alterar ou excluir colunas). Não exclui registros, apenas adicionaria uma coluna.
Alternativa C — ❌ Incorreta
A sintaxe correta do comando seria DELETE FROM TB_A WHERE condição. Além do erro de sintaxe ("DELETE FROM TABLE"), a condição COL_X = COL_Y não faz sentido, pois essas colunas pertencem a TAB_B e não à TB_A. Mesmo corrigindo a sintaxe, não garantiria exclusão de todos os registros se a condição fosse avaliada como falsa.
Alternativa D — ❌ Incorreta
UPDATE altera valores de registros existentes, não os exclui. SET 1=1 tentaria atualizar todas as linhas, mas não as remove.
Alternativa E — ✅ Correta ⟵ GABARITO
TRUNCATE TABLE TB_A remove todas as linhas da tabela, mantendo sua estrutura (colunas, índices, constraints). É o comando adequado para apagar todos os dados de forma rápida e irreversível, preservando a tabela vazia.
NÃO CAIA NESSA!
Cuidado para não confundir TRUNCATE com DROP TABLE. A banca explora justamente essa troca: o DROP apaga a tabela (estrutura + dados), enquanto o TRUNCATE apaga só os dados. O enunciado é claro ao afirmar "mantendo sua estrutura" — isso elimina DROP de imediato.