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á.
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.
Comments
2 Responses to “ Crear una función en Oracle ”
Post a Comment | Enviar comentarios ( Atom )
muy bueno, me funciono y me sirvio para comprender mas las funciones. te agradezco mucho
17 de noviembre de 2011, 5:25muy bueno era lo que estaba buscando
22 de mayo de 2014, 4:13Publicar un comentario
Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.