Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — VUNESP 2023

Banco de DadosOracle
Código
vu196715
Banca
VUNESP
Órgão
TJM SP
Ano
2023
Cargo
Ana SJ ( )
O sistema gerenciador de banco de dados Oracle 21c utiliza, para acesso ao banco de dados, a linguagem PL/ SQL. Tal linguagem oferece diversos operadores para indicar desigualdade entre valores.   Assinale a alternativa que apresenta duas opções para tais operadores de desigualdade.
  1. A<> e ^=.
  2. B>> e */.
  3. C|| e ^%.
  4. D<< e **.
  5. E:= e ==.
Revelar gabarito e comentário

GabaritoA — <> e ^=.

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

Operadores de desigualdade no PL/SQL

Gabarito: letra A. No PL/SQL do Oracle, os operadores de desigualdade são <> e ^= (além de !=), todos equivalentes entre si — é exatamente o que a alternativa A apresenta. As demais alternativas misturam operadores de concatenação, atribuição, comparação e até símbolos que não existem na linguagem.

O PL/SQL (Procedural Language/Structured Query Language) é a extensão procedural da linguagem SQL criada pela Oracle, utilizada para processamento de transações e construção de programas complexos dentro do banco de dados. Uma das tarefas mais comuns em qualquer linguagem de programação é comparar valores, e para isso o PL/SQL oferece um conjunto de operadores de comparação. Entre eles, os operadores de desigualdade servem para verificar se dois valores são diferentes, retornando TRUE quando não são iguais e FALSE quando são.

No PL/SQL, existem três formas de escrever o operador de desigualdade: <>, != e ^=. Todos são funcionalmente idênticos — a escolha entre eles é apenas uma questão de preferência ou estilo de codificação. O operador <> é o mais comum e amplamente utilizado, sendo o padrão em muitas linguagens. O != é familiar para quem vem de linguagens como C, Java ou JavaScript. Já o ^= é uma forma específica do Oracle, que remete à notação de exponenciação usada em algumas linguagens, mas aqui tem o significado de desigualdade.

É importante não confundir esses operadores com outros símbolos que aparecem no PL/SQL. O operador de atribuição é := (dois pontos seguido de igual), que atribui um valor a uma variável. O operador de concatenação de strings é || (duas barras verticais). O operador de exponenciação é ** (dois asteriscos). E os operadores de comparação de igualdade são = (igual) e <>/!=/^= (diferente). A banca explora exatamente essa confusão entre operadores de naturezas diferentes.

A pegadinha desta questão está em reconhecer que <> e ^= são ambos operadores de desigualdade válidos no PL/SQL, enquanto os demais símbolos pertencem a outras categorias de operadores ou simplesmente não existem na linguagem. O candidato que conhece a sintaxe básica do PL/SQL identifica rapidamente a alternativa correta, mas quem confunde operadores de atribuição, concatenação ou exponenciação com operadores de comparação acaba errando.

Guarde a distinção entre as famílias de operadores: comparação (=, <>, !=, ^=, <, >, <=, >=), atribuição (:=), concatenação (||) e exponenciação (**). É exatamente nessa fronteira que as alternativas se dividem.

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa apresenta <> e ^=, que são dois operadores de desigualdade válidos no PL/SQL. Ambos retornam TRUE quando os valores comparados são diferentes e FALSE quando são iguais. São equivalentes entre si e também ao operador !=, que não aparece na alternativa, mas é igualmente aceito pela linguagem.

Alternativa B — ❌ Incorreta

>> e */ não são operadores de desigualdade no PL/SQL. O símbolo >> não é um operador válido na linguagem (o deslocamento de bits, quando existe, usa outra notação, e no PL/SQL não há operador de deslocamento). Já */ é um marcador de comentário de bloco (o fechamento de um comentário iniciado com /*), não um operador de comparação.

Alternativa C — ❌ Incorreta

|| é o operador de concatenação de strings no PL/SQL, usado para unir dois textos em um só. O símbolo ^% não é um operador válido na linguagem — o ^ isolado é usado no operador de desigualdade ^=, mas combinado com % não forma nenhum operador reconhecido.

Alternativa D — ❌ Incorreta

<< e ** não são operadores de desigualdade. O símbolo << é usado no PL/SQL como delimitador de rótulos (labels) em blocos e loops, como em <<meu_loop>>. Já ** é o operador de exponenciação, que calcula potências (por exemplo, 2 ** 3 resulta em 8).

Alternativa E — ❌ Incorreta

:= é o operador de atribuição no PL/SQL, usado para atribuir um valor a uma variável (por exemplo, v_idade := 30;). O símbolo == não é um operador válido no PL/SQL — a comparação de igualdade é feita com um único =, e a dupla igualdade é comum em linguagens como C e Java, mas não no PL/SQL.

NÃO CAIA NESSA!

A banca mistura operadores de naturezas diferentes para confundir. O candidato que conhece apenas o <> pode achar que a alternativa A está incompleta, mas ^= é igualmente válido. Por outro lado, quem confunde := (atribuição) com comparação de igualdade pode cair na alternativa E. A chave é lembrar que no PL/SQL a atribuição usa :=, a concatenação usa ||, a exponenciação usa **, e a desigualdade pode ser escrita como <>, != ou ^=.

PEGA ESSA DICA!

Para fixar, monte um mapa mental dos operadores do PL/SQL: comparação (=, <>, !=, ^=, <, >, <=, >=), atribuição (:=), concatenação (||), exponenciação (**). Na prova, ao ver um símbolo, pergunte-se: "isso compara, atribui, concatena ou calcula?" — a resposta elimina as alternativas erradas na hora.

Gabarito: letra A

Link permanente: /questoes/vu196715