Questão nº 62

Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 62)

FGV2023Técnico Judiciário - Programação de SistemasTecnologia da Informação
Gabarito: Ever comentário ↓

Alison utilizou o seguinte comando SQL para inserir registros em uma tabela.
INSERT INTO TB_A (COL_1, COL_2)
SELECT COL_X, COL_Y
FROM 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:

Resposta comentada

Gabarito Alternativa E

Para apagar todos os registros de uma tabela, mas mantendo sua estrutura (colunas, tipos de dados, restrições), o comando mais adequado e eficiente é o TRUNCATE TABLE. Ele remove rapidamente todas as linhas, liberando o espaço de armazenamento.

  • (A) Incorreta: O comando DROP TABLE TB_A; remove a tabela inteira, incluindo sua estrutura e todos os dados, o que não atende ao requisito de "mantendo sua estrutura".
  • (B) Incorreta: O comando ALTER TABLE TB_A ADD COL_Y INT, COL_Y INT; é usado para modificar a estrutura da tabela (adicionar, remover ou alterar colunas), e não para apagar registros. Além disso, tentar adicionar duas colunas com o mesmo nome (COL_Y) causaria um erro.
  • (C) Incorreta: O comando DELETE FROM TABLE TB_A WHERE COL_X = COL_Y; remove registros, mas a cláusula WHERE especifica que apenas os registros onde COL_X é igual a COL_Y seriam apagados. Para apagar todos os registros com DELETE FROM, a cláusula WHERE deveria ser omitida (DELETE FROM TB_A;). Mesmo assim, TRUNCATE TABLE é geralmente mais rápido e eficiente para essa finalidade. Armadilha da banca: Esta alternativa é tentadora porque DELETE FROM é usado para apagar registros. No entanto, a condição WHERE COL_X = COL_Y impede que todos os registros sejam apagados, e o objetivo é apagar todos.
  • (D) Incorreta: O comando UPDATE TB_A SET 1=1; é usado para modificar dados existentes em uma tabela, não para apagar registros. A sintaxe SET 1=1 é inválida para atualização de colunas e não teria efeito de exclusão.
  • (E) Correta: O comando TRUNCATE TABLE TB_A; remove de forma rápida e eficiente todos os registros da tabela TB_A, mas mantém sua estrutura (colunas, índices, restrições) intacta, exatamente como solicitado na questão.

Fonte: FGV TJ-SE Servidor 2023 Técnico Judiciário - Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho