Pular para o conteúdo principal

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

Banco de DadosPL/SQL e Outras Extensões SQL
Código
vu195615
Banca
VUNESP
Órgão
DPE SP
Ano
2023
Cargo
AgDP ( )

O comando da linguagem PL/SQL (utilizada no Sistema Gerenciador de Bancos de Dados Oracle 21c) para declarar uma constante tem a seguinte composição:

 

DECLARE

  Comando

  ...........

 

O conteúdo a ser inserido em Comando para que seja criada uma constante denominada “total”, do tipo inteiro, com o valor 200, é:

  1. ACONSTANT INTEGER total = 200;
  2. BINTEGER total OF TYPE CONSTANT \leftarrow 200;
  3. CINTEGER CONSTANT total := 200;
  4. Dtotal OF TYPE CONSTANT INT = 200;
  5. Etotal CONSTANT INTEGER := 200;
Revelar gabarito e comentário

GabaritoE — total 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”.

Declaração de constantes em PL/SQL

Gabarito: letra E. Em PL/SQL, a sintaxe para declarar uma constante segue a ordem: nome CONSTANT tipo := valor; — ou seja, total CONSTANT INTEGER := 200; é a forma correta. A palavra-chave CONSTANT vem após o nome da variável e antes do tipo, e a atribuição é feita com o operador := (dois-pontos seguido de igual), não com = simples.

A linguagem PL/SQL (Procedural Language/Structured Query Language) é uma extensão procedural do SQL desenvolvida pela Oracle Corporation. Ela permite criar blocos de código com declarações de variáveis e constantes, estruturas de controle de fluxo (IF, CASE, LOOP), e manipulação de dados. 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 ficam as declarações de variáveis, constantes, tipos e subprogramas locais. É nela que se insere o comando para criar a constante total.

A sintaxe geral para declarar uma variável em PL/SQL é:

name [ CONSTANT ] type [ NOT NULL ] [ DEFAULT | := | = ] expression;

Perceba que o nome da variável vem primeiro, seguido da palavra-chave opcional CONSTANT, depois o tipo de dado, e por fim a atribuição de valor. Para constantes, o valor deve ser atribuído na declaração e não pode ser alterado posteriormente. O operador de atribuição mais comum e recomendado é :=, embora DEFAULT também seja aceito.

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

Alternativa A — ❌ Incorreta

A alternativa A (CONSTANT INTEGER total = 200;) está errada porque coloca a palavra-chave CONSTANT antes do nome da variável, quando na verdade ela deve vir depois do nome. Além disso, utiliza o operador = para atribuição, que em PL/SQL é usado para comparação, não para atribuição. O correto seria total CONSTANT INTEGER := 200;.

Alternativa B — ❌ Incorreta

A alternativa B (INTEGER total OF TYPE CONSTANT \leftarrow 200;) está errada porque a sintaxe OF TYPE CONSTANT não existe em PL/SQL. A palavra-chave CONSTANT deve vir após o nome da variável e antes do tipo, e o operador de atribuição é :=, não \leftarrow.

Alternativa C — ❌ Incorreta

A alternativa C (INTEGER CONSTANT total := 200;) está errada porque coloca o tipo INTEGER antes do nome da variável. Em PL/SQL, a ordem correta é nome CONSTANT tipo, ou seja, o nome vem primeiro, seguido de CONSTANT e depois o tipo.

Alternativa D — ❌ Incorreta

A alternativa D (total OF TYPE CONSTANT INT = 200;) está errada porque a sintaxe OF TYPE CONSTANT não existe em PL/SQL. Além disso, utiliza = em vez de := para atribuição.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa E (total CONSTANT INTEGER := 200;) está correta porque segue exatamente a sintaxe de declaração de constante em PL/SQL: nome da variável (total), seguido da palavra-chave CONSTANT, depois o tipo (INTEGER), e por fim o operador de atribuição := com o valor 200. Essa é a forma correta de declarar uma constante em PL/SQL.

Gabarito: letra E

Link permanente: /questoes/vu195615