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.
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.
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.
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
Simples mais legal!