Abril 15, 2013
kenneth
Cuando trabajamos en una base de datos ORACLE debemos tener conocimiento en PL/SQL y de esta form poder resolver ciertos casos de usos para algunos requerimientos, en este lenguaje podemos crear al igual que el T-SQL de Microsoft funciones, procedimientos y disparadores. En este articulo veremos como hacer una función en PL/SQL e implementando un parámetro de salida.
- Creación de función PL/SQL:
Tal como indica la documentación de ORACLE, crearemos nuestra función, nos basaremos en la siguiente imagen:
Primero definiremos la el nombre de nuestra función y luego definiremos un parámetro al cual sera de salida, entonces definiremos el tipo de dato que retornara la función, después de eso solamente queda implementar la función en si, el código de esta función se puede ver de la siguiente forma:
<pre title="Crear funcion PL/SQL">CREATE OR REPLACE FUNCTION fn_today_tomorrow (tomorrow IN OUT DATE)
RETURN DATE IS
today DATE;
BEGIN
SELECT CURRENT_DATE INTO today FROM dual;
SELECT today + 1 INTO tomorrow FROM dual;
RETURN today;
END fn_today_tomorrow;
Una vez creada nuestra función y ejecutada dentro de nuestra base de datos en Oracle, ahora veremos como utilizarla en un bloque anónimo.
- Probar nueva función PL/SQL:
Una vez definida nuestra función, vamos a ejecutarla en un pequeño bloque anónimo para ver el resultado de esta, el código se puede ver de la siguiente manera:
<pre title="Ejecutar funcion PL/SQL">SET SERVEROUTPUT ON SIZE UNLIMITED;
DECLARE
today DATE;
tomorrow DATE;
BEGIN
today := fn_today_tomorrow(
tomorrow => tomorrow
);
dbms_output.put_line(today);
dbms_output.put_line(tomorrow);
END;
Espero que les haya sido de gran ayuda,
Saludos,