Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2025

Banco de DadosConsultas e Comandos em SQL
Código
ce417246
Banca
CESPE / CEBRASPE
Órgão
TRF 6
Ano
2025
Cargo
AJ TRF6

cidade

IBGE

Uberaba

3170107

Uberlândia

3170206

Araguari

3103504

Considerando que os dados precedentes estejam armazenados em uma tabela no H2 Database chamada TABCIDADES, julgue o item a seguir.

 

O comando seguinte excluirá da tabela em apreço a coluna IBGE.

 

SET @COLUMN = IBGE
DROP COLUMN ON TABCIDADES IN @COLUMN;

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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

SQL – Comando DROP COLUMN no H2 Database

Gabarito: Errado. O comando apresentado não é sintaticamente válido em SQL padrão nem no H2 Database, pois a sintaxe correta para excluir uma coluna é ALTER TABLE TABCIDADES DROP COLUMN IBGE;. O comando do enunciado mistura elementos de outras linguagens (como SET @COLUMN = IBGE, que lembra variáveis de procedimentos armazenados) e não segue a estrutura DDL do SQL.

O comando DROP COLUMN é uma instrução da sublinguagem DDL (Data Definition Language), que lida com a definição e modificação da estrutura dos objetos do banco de dados. Para remover uma coluna de uma tabela existente, a sintaxe correta é sempre ALTER TABLE nome_da_tabela DROP COLUMN nome_da_coluna;. O comando ALTER TABLE é o responsável por adicionar, modificar ou excluir colunas, e o DROP COLUMN é a cláusula específica para exclusão. No H2 Database, que segue o padrão SQL, essa é a forma aceita.

O comando do enunciado, SET @COLUMN = IBGE seguido de DROP COLUMN ON TABCIDADES IN @COLUMN;, não é reconhecido por nenhum SGBD relacional padrão. A instrução SET é usada em linguagens de programação ou em procedimentos armazenados para atribuir valores a variáveis, mas não faz parte da sintaxe DDL para alteração de tabelas. Além disso, a ordem e a estrutura DROP COLUMN ON tabela IN coluna não existe no SQL; o correto é ALTER TABLE tabela DROP COLUMN coluna.

Na prática, se um usuário tentasse executar esse comando no H2, receberia um erro de sintaxe. O comando correto para excluir a coluna IBGE da tabela TABCIDADES seria:

ALTER TABLE TABCIDADES DROP COLUMN IBGE;

Esse comando removeria permanentemente a coluna IBGE e todos os dados nela contidos. É importante destacar que a exclusão de uma coluna é uma operação irreversível, e o comando DROP COLUMN não pode ser desfeito com ROLLBACK em muitos SGBDs, incluindo o H2, a menos que esteja dentro de uma transação.

A banca explora aqui a confusão entre a sintaxe de variáveis de procedimento (como SET @var = valor) e a sintaxe DDL. O candidato que conhece apenas o básico de SQL pode se deixar enganar pela presença de DROP COLUMN, mas a estrutura geral do comando é inválida. A pegadinha é justamente misturar elementos de diferentes contextos para criar um comando que parece plausível, mas não é executável.

  1. 1ALTER TABLE
  2. 2nome da tabela
  3. 3DROP COLUMN
  4. 4nome da coluna
LEVEL · soulevel.com.br

Item — ❌ Errado

O comando apresentado não excluirá a coluna IBGE da tabela TABCIDADES porque a sintaxe está incorreta. A forma correta de excluir uma coluna em SQL é usando ALTER TABLE com a cláusula DROP COLUMN, como em ALTER TABLE TABCIDADES DROP COLUMN IBGE;. O comando do enunciado, SET @COLUMN = IBGE seguido de DROP COLUMN ON TABCIDADES IN @COLUMN;, não é uma instrução SQL válida. A instrução SET é usada para atribuir valores a variáveis em linguagens de programação ou em procedimentos armazenados, não para definir colunas a serem excluídas. Além disso, a estrutura DROP COLUMN ON tabela IN coluna não existe no padrão SQL; o correto é ALTER TABLE tabela DROP COLUMN coluna. Portanto, o item está errado.

Gabarito: Errado

Link permanente: /questoes/ce417246