Pular para o conteúdo

Noções básicas sobre Functions e Procedures PL/SQL: Guia de definições e criação

Functions e Procedures no PL/SQL: O que são e como criar

O que são as functions?

De maneira resumida e objetiva, uma função é um bloco de código no PL/SQL que realiza uma operação e retorna um valor.

PLSQL
CREATE OR REPLACE FUNCTION calcula_media (nota1 NUMBER,
                                          nota2 NUMBER,
                                          nota3 NUMBER,
                                          nota4 NUMBER) RETURN NUMBER IS
    media NUMBER;
BEGIN
    -- Calcula a média das 4 notas
    media := (nota1 + nota2 + nota3 + nota4) / 4;

    RETURN media;
END calcula_media;
/

Neste exemplo acima, a função vai receber 4 notas informadas e retornará a média delas. Ou seja, a função retornou um valor NUMBER conforme definido no RETURN e como obrigatório no casos das functions, que é o retorno de um valor.

SQL
SELECT calcula_media(7.5, 8.0, 9.0, 6.5) AS media FROM dual;
MEDIA
---------
7.75

O que são Procedures?

Um procedimento é semelhante a uma função, mas não retorna um valor diretamente.

PLSQL
CREATE OR REPLACE PROCEDURE atualiza_salario(p_id NUMBER, p_percentual NUMBER) IS
BEGIN
    UPDATE funcionarios
       SET salario = salario * (1 + p_percentual / 100)
     WHERE id = p_id;
    
    DBMS_OUTPUT.PUT_LINE('Salário atualizado com sucesso para o ID: ' || p_id);
END atualiza_salario;
/
BEGIN
    atualiza_salario(1, 15); -- Aumenta o salário em 15% para o funcionário com ID 1
END;
/

O salário do funcionário com ID 1 foi atualizado, e a mensagem “Salário atualizado com sucesso para o ID: 1” foi exibida.

Conclusão

As Functions e Procedures são elementos essenciais do PL/SQL que ajudam a tornar seu código mais eficiente, reutilizável, organizado e contribuem para as mais diversas tarefas, objetivos e propósitos dentro de um banco de dados.

Espero que tenham aproveitado o conteúdo que embora seja um conteúdo simples para os mais experientes da aréa, poderá ser útil para aqueles que estão iniciando a jornada nesse universo de programação e em especial na parte de banco de dados.

Referências

Author

Marcel S. Santana, formado em Análise e Desenvolvimento de Sistemas com MBA em Eng. De Software SOA. Atuação há mais de 12 anos na área de desenvolvimento de sistemas e suporte ao cliente, em sistemas back e frontend, com foco em banco de dados Oracle e linguagens como PL/SQL, JavaScript, HTML, Oracle Forms e outras. Nos últimos 8 anos atuando na Oracle com o Oracle Retail Fiscal Management (ORFM), com grande ênfase no processo de melhoria, suporte e implantação do produto em novos clientes.

Comentário(s) da Comunidade

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress