sep
23
2010

Lanzar procedimientos o funciones desde SQL Plus.

Descarga el contenido del Artículo en PDF Download PDF

En este artículo explicaremos como lanzar procedimientos o funciones desde SQL Plus..

Antes de hablar de esto, un par de consejos.

Activar siempre el serveroutput on para poder verlo que devuelve por pantalla.
set serveroutput on
Cuando estéis compilando el proceso y os de error,  si poneis:
SQL> show errors
Os mostrará los errores de compilación que habéis tenido y con poner ed simplemente podreis editar e irlo cambiando, pero acordaos que esto no lo guarda, teneis que grabarlo como *sql.

Si ya tenemos el procedimiento o la función creada sin errores ya podemos lanzarlos:

1. Procedimientos:

BEGIN
Nombre_del_Package.Nombre_procedimiento(par1, par2, par3, …);
END;
/

O simplemente:

exec Nombre_procedimiento(par1, par2, par3, …);

Si el procedimiento tiene parámetros OUT de salida, hay que declararse las variables necesarias, con lo que hay que crear un cuerpo DECLARE BEGIN END;

set serveroutput on
BEGIN
V_Salida VARCHAR2(100);
Nombre_del_Package.Nombre_Procedimiento(V_Salida, valor2′,…);
dbms_output.put_line (V_Salida);
END;
/

2. Funciones:

También podemos utilizar variables de salida para recuperar el valor.

set serveroutput on
DECLARE
retorno NUMBER(12.2);
BEGIN
retorno := fu_redondear(13279.3456);
dbms_output.put_line (retorno);
END;

O simplemente, siempre que no devuelva nada más que el valor del return.

Select nombre_funcion(par1, par2,…) from dual;

Os dejo un ejemplo de función con un parámetro salida y entrada (IN OUT):

CREATE OR REPLACE FUNCTION func_prueba (valorentrada IN OUT VARCHAR2)
RETURN VARCHAR2 IS
BEGIN
valorentrada := HOLA’;
RETURN SALIDA FUNCION’;
END func_prueba;
/

Para la ejecución:

set serveroutput on
DECLARE
salida VARCHAR2(20);
variableentrada VARCHAR2(20) := ADIOS’;
BEGIN
dbms_output.put_line(Entrada Parametro: || variableentrada);
salida := func_prueba (variableentrada);
dbms_output.put_line(Salida Parametro: || variableentrada);
dbms_output.put_line(Return de la funcion : || salida);
END;
/

Cerrar
Sharing our website, you will help us with the maintenance. Thank you!

 

Click on any of these buttons to help us to maintain this website.



          
 

Related Posts

Acerca del Autor:

Leave a comment


− 3 = cuatro

Ayudas!

Recientes

  • Ber: Hola Daniel, Seguramente sea porque tu aplicación no tiene los permisos necesarios del usuario para publicar en...
  • Ber: Hola Leonardo, El post al que te refieres está aquí, http://www.codigojavaoracle.co m/?s=videoclub Puedes...
  • Daniel Arenas: hola mira que me salio un error 200 /**/ FB.__globalCallbacks.f288c7e8c ({“error”:{R...
  • Leonardo: Hola!, Me podria ayudar a diseñar una base de datos para un sistema de ventas de peliculas en sqlserver....
  • Jesse: Hola amigos , no se si me ayuden a solucionar un problema pues acabo de bajarme una plantilla hecha en flash y...