Pular para o conteúdo principal

Questão de Banco de Dados — PL/SQL e Outras Extensões SQL — VUNESP 2024

Banco de DadosPL/SQL e Outras Extensões SQL
Código
vu212093
Banca
VUNESP
Órgão
Pref Aparecida (SP)
Ano
2024
Cargo
Ana ( )
O comando PL/SQL do sistema gerenciador de banco de dados Oracle 21c para declarar uma constante Abc do tipo inteiro com o valor 200 é:
  1. ADECLARE ALL CONST Abc = 200 AS INT;
  2. BDECLARE Abc CONSTANT INTEGER := 200;
  3. CDECLARE CONST AS INT Abc := 200;
  4. DDECLARE AS INTEGER Abc → 200;
  5. EDECLARE Abc CONST INT AS 200;
Revelar gabarito e comentário

GabaritoB — DECLARE Abc CONSTANT INTEGER := 200;

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

PL/SQL: declaração de constantes no Oracle

Gabarito: letra B. Em PL/SQL, a sintaxe correta para declarar uma constante é nome CONSTANT tipo := valor;, dentro da seção DECLARE do bloco. A alternativa B (DECLARE Abc CONSTANT INTEGER := 200;) é a única que segue exatamente essa estrutura, com a palavra-chave CONSTANT, o tipo INTEGER e a atribuição com :=.

A linguagem PL/SQL (Procedural Language/Structured Query Language) é uma extensão procedural do SQL, desenvolvida pela Oracle. Ela permite criar blocos de código com lógica de programação, como variáveis, constantes, estruturas de controle (IF, CASE, LOOP) e tratamento de exceções. A unidade básica de um programa PL/SQL é o bloco, que possui a seguinte estrutura:

DECLARE
   <seção de declarações>
BEGIN
   <comandos executáveis>
EXCEPTION
   <tratamento de exceções>
END;

A seção DECLARE é onde se declaram variáveis, constantes, tipos e subprogramas locais. É nela que a constante Abc deve ser declarada. A sintaxe para declarar uma constante em PL/SQL é:

nome CONSTANT tipo_dado := valor_inicial;

A palavra-chave CONSTANT é obrigatória para indicar que o valor não pode ser alterado após a declaração. O tipo de dado pode ser INTEGER, NUMBER, VARCHAR2, DATE, entre outros. A atribuição do valor inicial é feita com o operador := (dois pontos seguido de igual), que é o operador de atribuição em PL/SQL, diferente do = usado em outras linguagens.

Por exemplo, para declarar uma constante chamada PI com o valor 3.14159, a sintaxe seria:

DECLARE
   PI CONSTANT NUMBER := 3.14159;
BEGIN
   ...
END;

A banca explora a confusão com a sintaxe de outras linguagens, como C ou Java, onde a declaração de constantes pode usar const ou final, e a atribuição pode ser feita com =. Em PL/SQL, a palavra-chave é CONSTANT (por extenso) e o operador de atribuição é :=. Além disso, a ordem dos elementos é fixa: primeiro o nome, depois CONSTANT, depois o tipo, e por fim o valor com :=.

Guarde essa estrutura: nome CONSTANT tipo := valor;. É exatamente nela que as alternativas se dividem: as incorretas ou invertem a ordem, ou usam palavras-chave erradas, ou usam o operador de atribuição incorreto.

  1. 1nome
  2. 2CONSTANT
  3. 3tipo
  4. 4:=
  5. 5valor
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa DECLARE ALL CONST Abc = 200 AS INT; está errada por vários motivos. Primeiro, a palavra-chave ALL não existe na declaração de constantes em PL/SQL. Segundo, a ordem está invertida: o correto é nome CONSTANT tipo := valor, não CONST nome = valor AS tipo. Terceiro, o operador de atribuição = não é o correto em PL/SQL, que usa :=. Por fim, a palavra CONST é uma abreviação que não é utilizada; o correto é CONSTANT por extenso.

Alternativa B — ✅ Correta ⟵ GABARITO

A alternativa DECLARE Abc CONSTANT INTEGER := 200; está correta. Ela segue exatamente a sintaxe de declaração de constantes em PL/SQL: o nome da constante (Abc), a palavra-chave CONSTANT, o tipo de dado (INTEGER) e a atribuição do valor inicial com o operador := (:= 200). A seção DECLARE é o local apropriado para essa declaração dentro de um bloco PL/SQL.

Alternativa C — ❌ Incorreta

A alternativa DECLARE CONST AS INT Abc := 200; está errada. A ordem dos elementos está completamente invertida. O correto é nome CONSTANT tipo := valor, mas aqui temos CONST AS INT Abc := 200, onde CONST aparece antes do nome, AS INT é uma construção que não existe em PL/SQL (o tipo é declarado diretamente, sem a palavra AS), e o nome Abc aparece depois do tipo. A palavra CONST também é uma abreviação incorreta; o correto é CONSTANT.

Alternativa D — ❌ Incorreta

A alternativa DECLARE AS INTEGER Abc → 200; está errada. O operador (seta) não é o operador de atribuição em PL/SQL; o correto é :=. Além disso, a ordem está invertida: o correto é nome CONSTANT tipo := valor, não AS INTEGER Abc → 200. A palavra AS não é usada na declaração de constantes em PL/SQL.

Alternativa E — ❌ Incorreta

A alternativa DECLARE Abc CONST INT AS 200; está errada. A palavra CONST é uma abreviação incorreta; o correto é CONSTANT por extenso. Além disso, a construção AS 200 não é válida em PL/SQL; o valor inicial deve ser atribuído com o operador :=, não com a palavra AS. A ordem também está errada: o tipo de dado (INT) deveria vir antes do valor, e não depois.

NÃO CAIA NESSA!

A banca explora a confusão com a sintaxe de outras linguagens de programação. Em C, por exemplo, declararíamos const int Abc = 200;, e em Java, final int Abc = 200;. O candidato que conhece essas linguagens pode se confundir e marcar uma alternativa que usa const, = ou AS. Em PL/SQL, a palavra-chave é CONSTANT (por extenso), o operador de atribuição é :=, e a ordem é nome CONSTANT tipo := valor. Memorize essa estrutura e você não errará mais.

PEGA ESSA DICA!

Para questões de sintaxe PL/SQL, foque nos elementos essenciais: a palavra CONSTANT, o operador := e a ordem nome CONSTANT tipo := valor. Elimine alternativas que usem const, =, AS, ou que invertam a ordem. Com esse filtro, a resposta correta fica evidente.

Gabarito: letra B

Link permanente: /questoes/vu212093