Introduction to MLE Module Calls
It is possible to create JavaScript modules as schema objects that are stored persistently in the database.
Once a JavaScript module has been defined, it can be used in SQL and PL/SQL as shown below:
Note:
To execute the full example, select the RUN button in the first step to open and transfer the module definition to FreeSQL, then copy and paste the subsequent steps into the FreeSQL worksheet in the same session.CREATE OR REPLACE MLE MODULE helloWorld_module
LANGUAGE JAVASCRIPT AS
function helloWorld() {
console.log('Hello World, this is a JS module');
}
export { helloWorld }
/Before the exported JavaScript function can be invoked, a call specification
must be defined. The code snippet below shows how to create a call specification for the
JavaScript helloWorld() function in PL/SQL:
CREATE OR REPLACE PROCEDURE helloWorld_proc
AS MLE MODULE helloWorld_module
SIGNATURE 'helloWorld()';
/The call specification, referred to as an MLE module call, publishes the JavaScript function
helloWorld(). It can then be used just like any other PL/SQL
procedure. The following snippet shows how to invoke the function along with the
results:
SET SERVEROUTPUT ON
BEGIN
helloWorld_proc;
END;
/Result:
Hello World, this is a JS moduleIn addition to custom-built JavaScript modules as shown in the provided code, it is possible to load third-party JavaScript modules into the database. Note that Oracle recommends performing a security screening of third-party code according to industry best practice.
See Also:
-
MLE JavaScript Modules and Environments for details about MLE modules and environments
-
MLE Security for more information about MLE security features and recommendations
Parent topic: Overview of Multilingual Engine for JavaScript