DEV Community

Pedro
Pedro

Posted on

Gerenciamento de banco de Dados | Bloco anônimo

Engenharia da computação/ Pedro Almeida/ Argeu Viana

Tutorial - Passo a passo

Como foi dito no trabalho anterior, o bloco anônimo em sua prática poder ser dividido em 4 sessões, sendo elas;
• Declare • Beguin • Exception • End

A seguir veremos um exemplo prático dessas sessões, desmembradas em partes e com sua formação final na última imagem apresentada:

Image description

Declare - Como o nome sugere, tem função de declarar variáveis e seus tipos.

Beguin - Uma representação do "corpo" do código, onde podemos codificar toda a lógica de programação.

Exception - Com ele poderemos capturar possíveis erros gerados ou retornados no código.

End - Encerra o bloco anônimo, sendo obrigatório o uso do ; no fim da palavra.

Seguindo com a codificação

Image description

Vamos analisar as mudanças feitas no código:

  1. DECLARE
  2. C1 NUMBER := 0;
    C1 - Uma variável do tipo NUMBER.
    := - Serve para atribuir um valor a ela, sendo obrigatório o uso do : para o funcionamento do código.

  3. BEGUIN

  4. _DBMS_OUTPUT.PUT_LINE( 'VALOR: ' || TO CHAR( c1 ) );_
    _DBMS_OUTPUT.PUT_LINE - É um pacote de funções, sendo que, entre elas uma das mais utilizadas é a PUT_LINE. A função dela é gravar/imprimir uma linha e pular para a próxima.
    ( 'VALOR: ' || TO CHAR( c1 ) ) -
    'VALOR ' - Representa o texto que será imprimido, deve estar contido entre aspas simples.
    TO CHAR - Represanta a variável selecionada em forma de uma string.

  5. EXCEPTION

  6. WHEN OTHERS THEN
    WHEN OTHERS THEN a Sintaxe usada para configurar a captura de erros padrão

  7. ( 'ERRO: ' || SQLERRM );
    SQLERRM é a Sintaxe que retrata o erro identificado usando o texto escolhido para imprimir.

Agora, repare que ao rodar o programa ele será executado, porém, não retornará nenhum valor. Para isso, vamos adicionar o seguinte comando no início do código:

Image description

SET SERVEROUTPUT ON - Serve como um meio de informar que a saída dos comandos deve ser imprimida na tela, veja que ao adicioná-lo, o valor será imprimido.

Agora que já entendemos o básico da aplicação de um bloco anônimo, vamos ver um exemplo de sua prática no mercado de trabalho.

Abaixo será feito um exemplo de código bloco anônimo PL/SQL no Oracle para processamento de dados. No exemplo considere que iremos criar um código que atualiza os salários dos funcionários em uma tabela, aplicando um aumento percentual a todos os registros.

Passo 1: Digitação da Estrutura Base.
Comece digitando a estrutura base do bloco anônimo PL/SQL:

  1. _DECLARE
  2. BEGIN
  3. -- Seu código PL/SQL será inserido aqui
  4. END;_

DECLARE inicia a seção de declaração, onde você pode definir variáveis se necessário.
BEGIN marca o início do bloco anônimo, onde a execução real do código ocorrerá.
END; indica o fim do bloco.

Passo 2: Declarar variáveis e seus tipos
Neste caso só será usado uma variável (v_percentual_aumento) do tipo NUMBER. O código fica dessa forma:

  1. DECLARE
  2. v_percentual_aumento NUMBER := 0.1; -- 10% de aumento salarial
  3. BEGIN
  4. END;

v_percentual_aumento é uma variável que armazena o percentual de aumento.

Passo 3: Desenvolver lógica central
Nesse passo faremos a criação da lógica central do nosso código que ficará dessa forma:

  1. DECLARE
  2. v_percentual_aumento NUMBER := 0.1; -- 10% de aumento salarial
  3. BEGIN
  4. UPDATE tabela_funcionarios
  5. SET salario = salario * (1 + v_percentual_aumento);
  6. COMMIT;
  7. END;

O comando UPDATE permite a alteração de um ou mais dados armazenados em uma tabela. Neste caso, é usado para modificar os salários dos funcionários na tabela(tabela_funcionarios);
O comando SET modifica parâmetros de configuração de tempo de execução. Neste caso, está fazendo uma operação matemática que aumenta o valor do salário do funcionário em 10%;
COMMIT é usado para confirmar as alterações no banco de dados.

Com isso concluímos nosso tutorial passo-a-passo, dando uma visão geral do funcionamento de um bloco anônimo na prática e seus comandos básicos.

Top comments (0)