PL/SQL – Dúvida dos Alunos!

Por
2 min. de leitura

Olá, pessoal, tudo bem? Hoje vamos abordar um assunto que tem sido cobrado em diversos concursos de T.I, que é o PL/SQL a linguagem procedural do banco de dados Oracle para SQL. A linguagem está integrada ao banco de dados, suportando todas as instruções, funções e tipos de dados Oracle SQL.

O PL/SQL tem inúmeras features e enriquece a utilização do SGBD Oracle, vamos ver então alguma dessas características e resolver algumas questões para fixar o tema.

Normalmente um bloco PL/SQL é dividido em unidades, que podem ser de 2 tipos, um subprograma ou um bloco anônimo:

  • Um subprograma PL/SQLé um bloco PL/SQL armazenado no banco de dados e pode ser chamado pelo nome a partir de um aplicativo. Quando um subprograma é criado, o banco de dados analisa o subprograma e armazena sua representação analisada no banco de dados. É possível declarar um subprograma como um procedimento ou uma função.
  • Um bloco anônimo PL/SQLé um bloco PL/SQL que aparece no aplicativo e não é nomeado ou armazenado no banco de dados.

Na Figura 1 abaixo veremos uma interação e chamada a stored procedures PL/SQL.

Figura 1 – Esquema de chamada de Subprogramas

Um subprograma armazenado independente é um subprograma criado no nível do esquema com a instrução CREATE PROCEDURE ou CREATE FUNCTION. Os subprogramas definidos em um pacote (PACKAGE) são chamados subprogramas de pacote e são considerados parte do pacote. O banco de dados armazena subprogramas no dicionário de dados como objetos de esquema.

Então em resumo podemos ter subprogramas (procedures e functions) criadas no esquema do banco ou pacotes (packages) que podem conter functions e procedures no seu corpo.

Exemplo de uma Package, Figura 2:

Figura 2 – Exemplo Package

E quando temos uma function ou procedure numa package temos a Execução de Subprogramas de Pacote PL/SQL, conforme Figura 3.

Figura 3 – Chamada Package

Vamos ver algumas questões para entender melhor as functions e procedures. Você pode usar o site da oracle para rodar uma instância do Oracle Online [1] sem ter que instalar nada na sua máquina, e fazer alguns testes para entender melhor as questões. Então vamos ver as questões e o gabarito está no final do artigo.

Ano: 2018 Banca: FCC Órgão: DPE-AM Prova: FCC – 2018 – DPE-AM – Assistente Técnico de Defensoria – Programador

Considere o código PL/SQL abaixo.

Ao executar o código acima no Oracle 12c em condições ideais, o resultado será

  1. bônus = 0

bônus = 50

  1. bônus = 50

bônus = 500

  1. bônus = 50

bônus = 3000

  1. bônus = 0

bônus = 500

  1. um erro de execução, pois deveria ser usado o comando SELECT e não UPDATE.

 

 

Ano: 2021 Banca: Quadrix Órgão: CFT Prova: Quadrix – 2021 – CFT – Analista de Tecnologia da Informação Júnior

 

A partir do código PL/SQL (Procedural Language/Structured Query Language) acima, julgue o item.

Há um erro de sintaxe no código. A palavra reservada ELSIF foi escrita de forma errada. O correto seria ELSEIF.

Alternativas

Certo

Errado

 

 

Sempre recomendamos aos alunos, no caso desses assuntos mais práticos, que se tenha alguma familiaridade com o software em questão, muitas questões podem ser respondidas quando se tem vivência com o banco de dados.

Dessa forma encerro esse artigo sobre o assunto PL/SQL! Até mais!

 

GABARITO

  1. Letra B. Basta executar o código no Oracle Live.
  2. A Sintaxe está correta no PL/SQL se usa o ELSIF, basta executar o código no Oracle Live.

 

 

Referências

 

[1] https://livesql.oracle.com/apex/f?p=590:1000

 

Professor MSc, Washington Almeida

 

Doutorando e Mestre em Engenharia de Software pelo Centro de Estudos e Sistemas Avançados do Recife – C.E.S.A.R. Atualmente é Analista Judiciário na Justiça Federal (TRF1), Professor de vários cursos no mercado e no Gran Cursos Online. É certificado ISF 27002.

 


Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil?
Clique nos links abaixo:

CONCURSOS ABERTOS

CONCURSOS 2022

Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
Clique no link abaixo e inscreva-se gratuitamente:

TELEGRAM

Por
2 min. de leitura