Crear una función en Oracle

miércoles, 22 de diciembre de 2010

Hace unos días vimos cómo crear un procedimiento almacenado en Oracle. Hoy veremos cómo crear una función en Oracle, la cual es muy similar a los procedimientos almacenados pero tiene algunas diferencias.

La diferencia principal de una función en Oracle comparándola con los procedimientos almacenados, es que las funciones devuelven siempre un valor. Comenzaremos viendo la sintaxis para crear una función en Oracle:


CREATE OR REPLACE FUNCTION nombre_funcion ([parametros])
RETURN tipo_variable

IS
[zona de declaraciones]

BEGIN

 [código PLSQL]

END;
/

Como podéis ver, la función está dividida en diferentes secciones:
  • Parámetros: A la hora de crear una función en Oracle, podemos declarar parámetros de diferentes tipos (NUMBER, VARCHAR, etc) y estos pueden ser de entrada (IN), salida (OUT) o incluso de entrada y salida (INOUT), tal y como vimos en el manual anterior de “crear un procedimiento almacenado en Oracle”.
  • Zona de declaraciones: Utilizaremos esta parte de la función para declarar las variables que necesitemos utilizar en ella.
  • Código PLSQL: En esta sección va la lógica de la función, la parte de la aplicación que se ejecutará.
Vista la sintaxis para crear una función en Oracle, veremos un ejemplo muy sencillo:


CREATE OR REPLACE FUNCTION SUMA (primer_numero IN NUMBER, segundo_numero IN NUMBER)

RETURN NUMBER

IS

    resultado NUMBER;

BEGIN

    resultado:= primer_numero+segundo_numero;

    return(resultado);

END;

/


En esta función de Oracle, se le pasan 2 números (primer_numero y segundo_numero), se realiza una suma y se devuelve el resultado de la suma.

Si queremos lanzar esta función, podremos hacerlo de la siguiente forma:


DECLARE

  resultado NUMBER;

BEGIN

    resultado := SUMA(12,23);

    dbms_output.put_line('Resultado de la suma: '||resultado);

END;


Al lanzar este código, realizaremos la suma de los números 12 y 23. Una vez ejecutado, podremos ver el siguiente texto: “El resultado de la suma: 35”. Esperamos que con este ejemplo y el que os enseñamos de cómo crear procedimiento almacenado Oracle hayáis aprendido las bases para trabajar con funciones y procedimientos.

Artículos relacionados


Comments

2 Responses to “ Crear una función en Oracle ”
Post a Comment | Enviar comentarios ( Atom )

DAveG dijo...

muy bueno, me funciono y me sirvio para comprender mas las funciones. te agradezco mucho

17 de noviembre de 2011, 5:25
Anónimo dijo...

muy bueno era lo que estaba buscando

22 de mayo de 2014, 4:13

Publicar un comentario en la entrada

Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.