Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2025
Banco de Dados›Consultas e Comandos em SQL
Código
ce417247
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 a seguir excluirá, na tabela em questão, o registro referente à cidade de Uberlândia.
SET @ROWID ON IBGE = 3170206; DEL ON TABCIDADES IN @ROWID;
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 DELETE e Sintaxe de Exclusão de Registros
Gabarito: Errado. O comando apresentado no enunciado não é válido em SQL padrão nem no H2 Database: a sintaxe SET @ROWID ON IBGE = 3170206; e DEL ON TABCIDADES IN @ROWID; não existe. Para excluir o registro da cidade de Uberlândia, o comando correto seria DELETE FROM TABCIDADES WHERE IBGE = 3170206;. A questão testa o conhecimento da sintaxe correta do comando DELETE, que pertence à DML (Data Manipulation Language).
O SQL (Structured Query Language) é a linguagem padrão para acesso e manipulação de bancos de dados relacionais. Ela é declarativa: você especifica o que deseja fazer, não como fazer. Os comandos são organizados em sublinguagens, e o comando de exclusão de registros pertence à DML (Data Manipulation Language), que lida com os dados em si (INSERT, UPDATE, DELETE, SELECT).
A sintaxe correta do comando DELETE é:
DELETE FROM nome_da_tabela WHERE condição;
O WHERE é opcional, mas sem ele todos os registros da tabela seriam excluídos. No caso, para excluir apenas o registro de Uberlândia, a condição deve filtrar pela coluna IBGE com o valor 3170206. O comando correto seria:
DELETE FROM TABCIDADES WHERE IBGE = 3170206;
O comando do enunciado (SET @ROWID ON IBGE = 3170206; DEL ON TABCIDADES IN @ROWID;) mistura sintaxes de outras linguagens (como variáveis @ROWID e comandos DEL), mas não corresponde a nenhum comando SQL válido. O H2 Database, assim como outros SGBDs relacionais, segue o padrão SQL para comandos de manipulação de dados.
NÃO CAIA NESSA!
A banca tenta confundir o candidato apresentando uma sintaxe fictícia que parece plausível, mas não existe no SQL. O candidato pode ser induzido a acreditar que SET @ROWID e DEL ON são comandos válidos, quando na verdade o único comando de exclusão é DELETE FROM. Fique atento: a sintaxe correta do DELETE é sempre DELETE FROM tabela WHERE condição;.
PEGA ESSA DICA!
Para memorizar a sintaxe do DELETE, lembre-se da estrutura básica: DELETE FROM + nome da tabela + WHERE + condição. O WHERE é essencial para excluir apenas registros específicos; sem ele, todos os registros da tabela seriam apagados. Na prova, desconfie de comandos que não seguem esse padrão.
1DELETE FROM tabela
2WHERE condição
3Exclui registros
LEVEL · soulevel.com.br
Alternativa E — ✅ Correta (Gabarito)
A afirmação está correta ao dizer que o comando apresentado não excluirá o registro de Uberlândia. O comando é inválido porque a sintaxe SET @ROWID ON IBGE = 3170206; e DEL ON TABCIDADES IN @ROWID; não existe no SQL padrão nem no H2 Database. O comando correto para excluir o registro seria DELETE FROM TABCIDADES WHERE IBGE = 3170206;. Portanto, o item está errado.