¿Cómo ejecuto un paquete en SQL Plus? ¿No tienen un ejemplo por ahí?.
1 Respuesta
Respuesta de neosys
1
1
neosys, Desde versiones 6 de experiencia en entornos ORACLE (1990)
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