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
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;

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

  1. 1DELETE FROM tabela
  2. 2WHERE condição
  3. 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.

Gabarito: Errado

Link permanente: /questoes/ce417247