Procedimientos en PL/SQL

Hola a todos, hoy os voy a explicar como funcionan los procedimientos en PL/SQL.

Al igual que en programación, en PL/SQL podemos hacer procedimientos para tener código reutilizable y llamarlas cuando necesitemos.

Para hacer procedimientos tenemos que hacer algo parecido a bloques anónimos pero cambia en algunas cosas.

Os pongo un simple ejemplo de procedimiento en PL/SQL:


create or replace procedure total_pedido(v_codigopedido pedidos.codigopedido%type)
as
  v_total number(8) := 0;
begin
  
  select sum(dp.cantidad * dp.PRECIOUNIDAD) into v_total
  from pedidos p, detallepedidos dp
  where p.codigopedido = dp.codigopedido and p.codigopedido = v_codigopedido;

  DBMS_OUTPUT.PUT_LINE('El pedido total es ' || v_total);

end;
/

Fíjate que empezamos con create or replace procedure y el nombre de la función, el replace es opcional, después van los parámetros que le vamos a pasar.

IMPORTANTE: Si se modifica algo del procedimiento, deberás compilarla de nuevo.

Como es un procedimiento, no devuelve nada, eso seria una función y no ponemos return en ningún lado.

El as es como el declare en un bloque anónimo.

 

Para llamarlo desde un bloque anónimo:


declare
  v_codigopedido pedidos.codigopedido%type := &codigo;
begin
  total_pedido(v_codigopedido);
  
end;
/

Si quieres llamarlo sin la necesidad de un bloque anónimo:


call total_pedido(1);

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

1 comentario

  1. Danilo

    Muchas gracias por compartir tus conocimientos es de mucha utilidad Exitos sigue adelante

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *