Ejecución de paquetes

Respuesta de
a
Avatar
Usuario
Una pregunta, ¿cómo ejecuto un paquete en SQL Plus? ¿No tienen un ejemplo por ahí?. Gracias
Experto
Hola,

Es muy fácil.

La base consiste en saber a que función o procedimeniento del Package quieres ejecutar. (Un package es un conjunto de definiciones de variables, constantes, procedimiento y funciones).

Básicamente con hacer :

begin
Nombre_del_Package.Nombre_procedimiento(param1, param2, param3, ...);
END;
/

Ya tendrías que tener el código necesario como para ejecutar.

Pero Oracle te facilita el no tener que construir un 'cuerpo PL/SQL' y puedes poner :

exec Nombre_del_Package.Nombre_procedimiento(param1, param2, param3, ...)

Y se ejecutará.

Ten en cuenta :

Si el Procedimiento al que llamas necesita de variables que retornan un valor ('OUT') o si es un Función del Package la que llamas ... entonces es necesario que tengas definidas estas variables, luego el comando 'execute o exec' no te sirve, tendriaas que crearte un cuerpo parecido a este (imaginando que el parametro_1 retorna un valor).

- Ejemplo de función :

set serveroutput on
BEGIN
retorno VARCHAR2(100);
retorno := Nombre_del_Package.Nombre_funcion(p1, p2, p3, ...);
dbms_output.put_line (retorno);
END;
/

- Ejemplo de Procedimiento con variable de salida 'OUT' :

set serveroutput on
BEGIN
V_Salida VARCHAR2(100);
Nombre_del_Package.Nombre_Procedimiento(V_Salida, 4, 'ARTICULO1', ...);
dbms_output.put_line (V_Salida);
END;
/

Y ya está.

Te he puesto lo de :
set serveroutput on
Para activar la salida de los valores por pantalla que al final salen al realizar un :

dbms_output.put_line

UN Saludo y Suerte

Espero que lo entiendas
Avatar
Usuario
Gracias ya lo resolví, no me acordaba como se ejecutaba, pero lo tengo claro