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.
Muchas gracias por compartir tus conocimientos es de mucha utilidad Exitos sigue adelante