Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2025
Banco de Dados›Consultas 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;
CCerto
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.
1ALTER TABLE
2nome da tabela
3DROP COLUMN
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.