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.