Seleccionar página

Oracle 23c – Funciones Javascript públicas y privadas

Públicas privadas

Escrito por: Eddie Molina

Oracle ACE Pro. Oracle APEX Cloud Developer Certified Professional. Presidente de ORAUGCRC (Grupo de Usuarios Oracle de Costa Rica). Miembro de líderes de LAOUC. Conferencista, consultor, desarrollador y capacitador en tecnologías Oracle, especialmente Oracle Application Express con más de 30 años de experiencia.

15/04/2023

Que hay de nuevo

Como comenté en el artículo anterior, una de las nuevas características de la base de datos Oracle 23c, es la posibilidad de crear procedimientos almacenados Javascript. Para conocer un poquito más al respecto, estaré compartiendo temas relacionados al mismo.

Voy a iniciar con la definición de funciones Javascript públicas y privadas.

Cuando creamos procedimientos almacenados Javascript, tenemos la oportunidad de definir funciones que dependiendo de la manera en que lo hagamos van a ser consideradas como funciones públicas o funciones privadas.

La principal diferencia entre una función pública y una privada, es que al hacer el llamado a dichas funciones, solo podremos hacerlo directamente sobre las funciones públicas, las funciones privadas solo podrán ser llamadas desde dentro del contexto del módulo Javascript que hemos creado.

Para explicar el concepto veamos el código a continuación:

El código anterior crea un módulo Javascript almacenado en la base de datos con el nombre pub_priv_factorials, tal como se define en la línea 1.

Las líneas 3 a 11, definen la función factorial, la cual recibe como parámetro un número y retorna el factorial del número proporcionado, por aquello de que no sepamos que es un factorial, es el producto de todos los números positivos enteros desde uno hasta el número indicado.

En las líneas 13 a 17, se define una nueva función llamada calculateFactorial, la cual recibe como parámetro un número, digamos 5, muestra en consola el mensaje “Vamos a calcular el factorial de 5”, en la línea 14. Luego realiza el cálculo del factorial al llamar la función factorial definida en las líneas 3 a 11, para finalizar mostrando un nuevo mensaje “El factorial de 5 es 120”.

Les recuerdo que el contenido de cualquier línea que haga un llamado a console.log, cuando ejecutemos desde PL/SQL el llamada a estas funciones Javascript, será mostrado por medio de DBMS_OUTPUT.

Finalmente, la línea 19 define la función calculareFactorial como pública, al pasar el nombre de la función dentro de la sentencia export, estamos definiendo dicha función como pública, lo que nos permitirá acceder a ella directamente, mientras que en el caso de la función factorial, solo podrá ser llamada dentro de la función pública o cualquier otra función privada que haya sido llamada desde la función pública.

Conocer más

Si desean conocer más al respecto e investigar por su cuenta, les dejo estos enlaces que les pueden ayudar:

Oracle Database New Features

Javascript Developer’s Guide

También te puede gustar…

Alcance de Acciones Dinámicas

Alcance de Acciones Dinámicas

Las acciones dinámicas son una de las características más importantes de APEX, puesto que nos permiten extender...

Share This