<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rajesh Vohra</title>
    <description>The latest articles on DEV Community by Rajesh Vohra (@rajesh_vohra_e75f579b7888).</description>
    <link>https://dev.to/rajesh_vohra_e75f579b7888</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png</url>
      <title>DEV Community: Rajesh Vohra</title>
      <link>https://dev.to/rajesh_vohra_e75f579b7888</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rajesh_vohra_e75f579b7888"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Tue, 02 Dec 2025 20:48:54 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/-32e2</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/-32e2</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rajesh_vohra_e75f579b7888" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png" alt="rajesh_vohra_e75f579b7888"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rajesh_vohra_e75f579b7888/oracle-apex-rest-integration-code-snippets-20gi" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Oracle APEX (Rest Integration Code Snippets)&lt;/h2&gt;
      &lt;h3&gt;Rajesh Vohra ・ Dec 2&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#restapi&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#oracle&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>restapi</category>
      <category>oracle</category>
      <category>cloud</category>
      <category>programming</category>
    </item>
    <item>
      <title>Oracle APEX (Rest Integration Code Snippets)</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Tue, 02 Dec 2025 20:45:55 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/oracle-apex-rest-integration-code-snippets-20gi</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/oracle-apex-rest-integration-code-snippets-20gi</guid>
      <description>&lt;p&gt;(A) Calling a REST API From APEX Using APEX_WEB_SERVICE&lt;br&gt;
Example: Calling OCI Functions or Any REST Endpoint&lt;br&gt;
DECLARE&lt;br&gt;
    l_url     VARCHAR2(2000) := '&lt;a href="https://api.example.com/process" rel="noopener noreferrer"&gt;https://api.example.com/process&lt;/a&gt;';&lt;br&gt;
    l_body    CLOB := '{"id":123, "action":"submit"}';&lt;br&gt;
    l_result  CLOB;&lt;br&gt;
BEGIN&lt;br&gt;
    l_result := APEX_WEB_SERVICE.make_rest_request(&lt;br&gt;
        p_url         =&amp;gt; l_url,&lt;br&gt;
        p_http_method =&amp;gt; 'POST',&lt;br&gt;
        p_body        =&amp;gt; l_body,&lt;br&gt;
        p_wallet_path =&amp;gt; 'file:/u01/app/oracle/wallet',&lt;br&gt;
        p_wallet_pwd  =&amp;gt; 'password'&lt;br&gt;
    );&lt;br&gt;
    -- Log or parse the JSON response&lt;br&gt;
    dbms_output.put_line(l_result);&lt;br&gt;
END;&lt;br&gt;
When to use&lt;br&gt;
 ✔ Calling serverless functions (OCI Functions)&lt;br&gt;
 ✔ Integrating external APIs&lt;br&gt;
 ✔ Sending data to microservices&lt;br&gt;
(B) Uploading Files to OCI Object Storage&lt;br&gt;
Useful for APEX apps that handle documents, images, invoices, or uploads.&lt;br&gt;
DECLARE&lt;br&gt;
    l_url     VARCHAR2(4000) := '&lt;a href="https://objectstorage" rel="noopener noreferrer"&gt;https://objectstorage&lt;/a&gt;..oraclecloud.com/n/namespace/b/bucket/o/myfile.pdf';&lt;br&gt;
    l_blob    BLOB;&lt;br&gt;
BEGIN&lt;br&gt;
    SELECT file_blob INTO l_blob &lt;br&gt;
    FROM my_docs &lt;br&gt;
    WHERE id = :P1_DOC_ID;&lt;br&gt;
    APEX_WEB_SERVICE.make_rest_request(&lt;br&gt;
        p_url         =&amp;gt; l_url,&lt;br&gt;
        p_http_method =&amp;gt; 'PUT',&lt;br&gt;
        p_body_blob   =&amp;gt; l_blob,&lt;br&gt;
        p_wallet_path =&amp;gt; 'file:/u01/app/oracle/wallet',&lt;br&gt;
        p_wallet_pwd  =&amp;gt; 'password'&lt;br&gt;
    );&lt;br&gt;
END;&lt;br&gt;
When to use&lt;br&gt;
 ✔ Uploading resumes, invoices, PDFs&lt;br&gt;
 ✔ Storing images, documents, reports&lt;br&gt;
 ✔ Archiving files securely&lt;br&gt;
Calling OCI AI Language or Vision Service&lt;br&gt;
AI Language Example: Sentiment / Key-Phrases&lt;br&gt;
DECLARE&lt;br&gt;
    l_body CLOB := '{&lt;br&gt;
        "documents": [&lt;br&gt;
            {"text": "The service was excellent!", "id": "1"}&lt;br&gt;
        ]&lt;br&gt;
    }';&lt;br&gt;
    l_response CLOB;&lt;br&gt;
BEGIN&lt;br&gt;
    l_response := apex_web_service.make_rest_request(&lt;br&gt;
        p_url         =&amp;gt; 'https://.../language/sentiment',&lt;br&gt;
        p_http_method =&amp;gt; 'POST',&lt;br&gt;
        p_body        =&amp;gt; l_body,&lt;br&gt;
        p_wallet_path =&amp;gt; 'file:/u01/app/oracle/wallet'&lt;br&gt;
    );&lt;br&gt;
    :P1_AI_RESULT := l_response;&lt;br&gt;
END;&lt;br&gt;
When to use&lt;br&gt;
 ✔ Customer feedback analysis&lt;br&gt;
 ✔ Support ticket prioritization&lt;br&gt;
 ✔ Chatbot intelligence and routing&lt;br&gt;
(D) Calling a REST-enabled Table or View Using ORDS&lt;br&gt;
If you expose a table through ORDS, APEX can read it like any other REST endpoint.&lt;br&gt;
SELECT *&lt;br&gt;
FROM apex_web_service.g_response_clob;&lt;br&gt;
When to use&lt;br&gt;
 ✔ Microservice-style data sharing&lt;br&gt;
 ✔ Integrating multiple APEX apps&lt;br&gt;
 ✔ Exposing data to partners&lt;br&gt;
Use-Case-Based Recommendations&lt;br&gt;
Here are practical, real-world examples for the most common APEX + OCI integration scenarios.&lt;br&gt;
A. Document Processing Use Cases&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Automated PDF Extraction &amp;amp; Classification&lt;br&gt;
Perfec for: HR onboarding, invoices, receipts, forms&lt;br&gt;
 OCI Services: Object Storage, AI Document Understanding, Functions&lt;br&gt;
 APEX Role: Upload UI + results viewer&lt;br&gt;
Flow:&lt;br&gt;
User uploads document in APEX&lt;br&gt;
Stored in OCI Object Storage&lt;br&gt;
AI Document Understanding extracts entities&lt;br&gt;
APEX displays structured results (date, amount, vendor, etc.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Image Recognition Inside APEX&lt;br&gt;
Perfect for: Field inspections, asset management&lt;br&gt;
 OCI Services: Vision AI&lt;br&gt;
Flow:&lt;br&gt;
Upload photo → send to OCI Vision&lt;br&gt;
Vision returns labels, anomalies&lt;br&gt;
APEX triggers workflow or flags issues&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Generate PDFs Automatically&lt;br&gt;
Perfect for: Reports, certificates, receipts&lt;br&gt;
 OCI Services: OCI Functions + open-source libraries OR APEX built-in PDF printing&lt;br&gt;
B. Chatbots and Intelligent Assistants&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;LLM-Powered Chat Assistant Inside APEX&lt;br&gt;
Perfect for: Customer portals, HR helpdesks&lt;br&gt;
 OCI Services: OCI Generative AI, OCI Language&lt;br&gt;
 APEX Role: Chat UI + history log&lt;br&gt;
Flow:&lt;br&gt;
APEX sends user message to OCI Gen AI&lt;br&gt;
Receive structured response&lt;br&gt;
Store chat history&lt;br&gt;
Display in a chatbot-style UI&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Smart Ticket Categorization&lt;br&gt;
Perfect for: IT service desk, municipal complaints&lt;br&gt;
 OCI Services: AI Language (sentiment, classification)&lt;br&gt;
 Flow:&lt;br&gt;
 APEX form → AI Language → auto-assign priority/team&lt;br&gt;
C. Dashboards and Analytics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-Time Operational Dashboard&lt;br&gt;
Perfect for: Logistics, finance, retail&lt;br&gt;
 OCI Services: Streaming (Kafka-like), API Gateway&lt;br&gt;
 Flow:&lt;br&gt;
 Data streams into the DB → APEX refreshes dashboard with Live Polling&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Executive KPI Dashboards&lt;br&gt;
Perfect for: Management reporting&lt;br&gt;
 OCI Services: Oracle Analytics Cloud (optional), ADW&lt;br&gt;
 Flow:&lt;br&gt;
 APEX consumes curated ADW models → interactive charts, drilldowns&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Audit &amp;amp; Security Dashboard&lt;br&gt;
Perfect for: Compliance, security teams&lt;br&gt;
 OCI Services: Data Safe, Logging, Monitoring&lt;br&gt;
 Flow:&lt;br&gt;
 APEX queries Data Safe logs → show risky users, anomalies, audit alerts&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>restapi</category>
      <category>oracle</category>
      <category>cloud</category>
      <category>programming</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Tue, 18 Nov 2025 06:49:38 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/-b50</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/-b50</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rajesh_vohra_e75f579b7888" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png" alt="rajesh_vohra_e75f579b7888"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rajesh_vohra_e75f579b7888/revolutionizing-sql-development-with-oracle-apex-ai-assistant-4ccc" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Revolutionizing SQL Development with Oracle APEX AI Assistant&lt;/h2&gt;
      &lt;h3&gt;Rajesh Vohra ・ Oct 20&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#oracle&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#sql&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>oracle</category>
      <category>cloud</category>
      <category>sql</category>
      <category>ai</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Tue, 18 Nov 2025 06:41:25 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/-3oin</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/-3oin</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rajesh_vohra_e75f579b7888" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png" alt="rajesh_vohra_e75f579b7888"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rajesh_vohra_e75f579b7888/beginner-friendly-plsql-and-javascript-mle-examples-for-oracle-26ai-895" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Beginner-Friendly PL/SQL and JavaScript MLE Examples for Oracle 26ai&lt;/h2&gt;
      &lt;h3&gt;Rajesh Vohra ・ Nov 18&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#database&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#sql&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
    </item>
    <item>
      <title>Getting Started with JavaScript in Oracle: Simple MLE Use Cases and Procedures</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Tue, 18 Nov 2025 06:39:30 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/getting-started-with-javascript-in-oracle-simple-mle-use-cases-and-procedures-48m</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/getting-started-with-javascript-in-oracle-simple-mle-use-cases-and-procedures-48m</guid>
      <description>&lt;p&gt;Oracle’s Multilingual Engine (MLE) allows you to run JavaScript directly inside the database alongside PL/SQL. This lets you create procedures, functions, and modules in JavaScript that can be called from PL/SQL. MLE is great for beginners because it makes it easy to mix SQL and JavaScript, run small tests quickly, and write reusable logic in a familiar language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Anonymous Inline JavaScript Procedure
&lt;/h2&gt;

&lt;p&gt;Use Case: Quickly test JavaScript logic without creating a module.&lt;/p&gt;

&lt;p&gt;CREATE OR REPLACE PROCEDURE inline_js_demo&lt;br&gt;
AS MLE LANGUAGE JAVASCRIPT PURE&lt;br&gt;
{{&lt;br&gt;
    let msg = 'Hello from inline JavaScript!';&lt;br&gt;
    console.log(msg);&lt;br&gt;
}};&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;BEGIN&lt;br&gt;
    inline_js_demo;&lt;br&gt;
END;&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;What happens:&lt;/p&gt;

&lt;p&gt;Quick execution of JS logic.&lt;/p&gt;

&lt;p&gt;No module creation needed.&lt;/p&gt;

&lt;p&gt;Useful for small computations or testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Calculate Sum of Two Numbers (PURE Execution)
&lt;/h2&gt;

&lt;p&gt;Teaches: PURE environment, simple math logic&lt;/p&gt;

&lt;p&gt;JavaScript Module&lt;br&gt;
CREATE OR REPLACE MLE MODULE calc_mod&lt;br&gt;
LANGUAGE JAVASCRIPT AS&lt;br&gt;
export function sum(a, b) {&lt;br&gt;
    return a + b;&lt;br&gt;
}&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;PURE Environment&lt;br&gt;
CREATE OR REPLACE MLE ENV calc_env&lt;br&gt;
IMPORTS ('calc_mod' MODULE calc_mod) PURE;&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Procedure&lt;br&gt;
CREATE OR REPLACE FUNCTION js_add(p_a NUMBER, p_b NUMBER)&lt;br&gt;
RETURN NUMBER&lt;br&gt;
AS MLE MODULE calc_mod ENV calc_env &lt;br&gt;
SIGNATURE 'sum(num,num)';&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Execution&lt;br&gt;
SELECT js_add(10, 25) AS result FROM dual;&lt;/p&gt;

&lt;h2&gt;
  
  
  Convert text to Uppercase Using JS
&lt;/h2&gt;

&lt;p&gt;Teaches: JS string functions, returning values&lt;/p&gt;

&lt;p&gt;Inline JS Function&lt;br&gt;
CREATE OR REPLACE FUNCTION js_upper(p_text VARCHAR2)&lt;br&gt;
RETURN VARCHAR2&lt;br&gt;
AS MLE LANGUAGE JAVASCRIPT&lt;br&gt;
{{&lt;br&gt;
    let input = session.getInput('TEXT');&lt;br&gt;
    return input.toUpperCase();&lt;br&gt;
}}&lt;br&gt;
;&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Call It&lt;br&gt;
SELECT js_upper('hello oracle js mle') FROM dual;&lt;/p&gt;

&lt;h2&gt;
  
  
  Calculate Average Salary from a Table Using JavaScript SQL Driver
&lt;/h2&gt;

&lt;p&gt;Teaches: Executing SQL inside JavaScript (MLE SQL driver)&lt;/p&gt;

&lt;p&gt;JavaScript Module&lt;br&gt;
CREATE OR REPLACE MLE MODULE emp_mod&lt;br&gt;
LANGUAGE JAVASCRIPT AS&lt;br&gt;
import * as oracledb from "mle-js-oracledb";&lt;/p&gt;

&lt;p&gt;export function avgSalary() {&lt;br&gt;
    let conn = oracledb.defaultConnection();&lt;br&gt;
    let rs = conn.query(&lt;code&gt;SELECT AVG(salary) avg_sal FROM Employees&lt;/code&gt;);&lt;br&gt;
    return rs[0].AVG_SAL;&lt;br&gt;
}&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Procedure + Call Spec&lt;br&gt;
CREATE OR REPLACE FUNCTION js_emp_avg&lt;br&gt;
RETURN NUMBER&lt;br&gt;
AS MLE MODULE emp_mod&lt;br&gt;
SIGNATURE 'avgSalary()';&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Usage&lt;br&gt;
SELECT js_emp_avg FROM dual;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>oracle</category>
      <category>javascript</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Beginner-Friendly PL/SQL and JavaScript MLE Examples for Oracle 26ai</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Tue, 18 Nov 2025 06:28:34 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/beginner-friendly-plsql-and-javascript-mle-examples-for-oracle-26ai-895</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/beginner-friendly-plsql-and-javascript-mle-examples-for-oracle-26ai-895</guid>
      <description>&lt;p&gt;The Multilingual Engine (MLE) in Oracle 26ai opens a whole new world for developers by allowing JavaScript to run natively inside the database, right alongside traditional PL/SQL. For beginners, this means you can combine the simplicity of JavaScript with the power of Oracle’s SQL engine to build cleaner logic, faster transformations, and more flexible procedures. The examples below walk through easy, practical use cases—from formatting text and doing basic math to running SQL queries and returning JSON—all designed to help new users quickly understand how PL/SQL and JavaScript work together through MLE.&lt;br&gt;
Here are few simple and easy to understand examples:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Dynamic Execution of JavaScript (DBMS_MLE.eval)
&lt;/h2&gt;

&lt;p&gt;Use Case: Print "Hello World" dynamically using JavaScript from PL/SQL.&lt;/p&gt;

&lt;p&gt;SET SERVEROUTPUT ON;&lt;/p&gt;

&lt;p&gt;DECLARE&lt;br&gt;
    l_ctx     DBMS_MLE.context_handle_t;&lt;br&gt;
    l_jscode  CLOB;&lt;br&gt;
BEGIN&lt;br&gt;
    -- Create a dynamic execution context&lt;br&gt;
    l_ctx := DBMS_MLE.create_context;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-- JavaScript code stored in a CLOB
l_jscode := q'~
    console.log('Hello World, dynamically from JavaScript!');
~';

-- Execute JavaScript dynamically
DBMS_MLE.eval(
    context_handle =&amp;gt; l_ctx,
    language_id    =&amp;gt; 'JAVASCRIPT',
    source         =&amp;gt; l_jscode,
    source_name    =&amp;gt; 'DynamicHelloWorld'
);

-- Drop the context to free resources
DBMS_MLE.drop_context(l_ctx);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;END;&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;What happens:&lt;/p&gt;

&lt;p&gt;A new execution context is created.&lt;/p&gt;

&lt;p&gt;JavaScript code is executed dynamically.&lt;/p&gt;

&lt;p&gt;Output is printed via DBMS_OUTPUT.&lt;/p&gt;

&lt;p&gt;Context is explicitly dropped.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Using JavaScript Modules with PL/SQL (MLE Module Calls)
&lt;/h2&gt;

&lt;p&gt;Use Case: Encapsulate reusable logic in a module and call it from PL/SQL.&lt;/p&gt;

&lt;p&gt;Step 1: Create a JavaScript Module&lt;br&gt;
CREATE OR REPLACE MLE MODULE hello_module&lt;br&gt;
LANGUAGE JAVASCRIPT AS&lt;br&gt;
function sayHello(name) {&lt;br&gt;
    console.log(&lt;code&gt;Hello, ${name} from JS module!&lt;/code&gt;);&lt;br&gt;
}&lt;br&gt;
export { sayHello };&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Step 2: Create a PL/SQL Procedure Call Specification&lt;br&gt;
CREATE OR REPLACE PROCEDURE hello_proc(p_name VARCHAR2)&lt;br&gt;
AS MLE MODULE hello_module&lt;br&gt;
SIGNATURE 'sayHello(text)';&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Step 3: Call the Procedure in PL/SQL&lt;br&gt;
BEGIN&lt;br&gt;
    hello_proc('Alice');&lt;br&gt;
END;&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;What happens:&lt;/p&gt;

&lt;p&gt;hello_module stores reusable JS code.&lt;/p&gt;

&lt;p&gt;hello_proc exposes JS function to PL/SQL.&lt;/p&gt;

&lt;p&gt;Output is printed via DBMS_OUTPUT.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. PURE Execution for Secure JavaScript
&lt;/h2&gt;

&lt;p&gt;Use Case: Run computational code without accessing database state.&lt;/p&gt;

&lt;p&gt;Step 1: Create a PURE JavaScript Module&lt;br&gt;
CREATE OR REPLACE MLE MODULE pure_module&lt;br&gt;
LANGUAGE JAVASCRIPT AS&lt;br&gt;
export function addNumbers(a, b) {&lt;br&gt;
    console.log(&lt;code&gt;Sum is: ${a + b}&lt;/code&gt;);&lt;br&gt;
}&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Step 2: Create a PURE Environment&lt;br&gt;
CREATE OR REPLACE MLE ENV pure_env&lt;br&gt;
IMPORTS('pure_module' MODULE pure_module) PURE;&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Step 3: Create a Call Specification Using PURE Environment&lt;br&gt;
CREATE OR REPLACE PROCEDURE add_numbers_proc(p_a NUMBER, p_b NUMBER)&lt;br&gt;
AS MLE MODULE pure_module ENV pure_env&lt;br&gt;
SIGNATURE 'addNumbers(num,num)';&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;Step 4: Execute the Procedure&lt;br&gt;
BEGIN&lt;br&gt;
    add_numbers_proc(10, 20);&lt;br&gt;
END;&lt;br&gt;
/&lt;/p&gt;

&lt;p&gt;What happens:&lt;/p&gt;

&lt;p&gt;Code runs isolated from database objects.&lt;/p&gt;

&lt;p&gt;Ideal for running third-party libraries or computations securely.&lt;/p&gt;

&lt;p&gt;Only allows input/output operations.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Sat, 25 Oct 2025 04:50:37 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/-21gp</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/-21gp</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rajesh_vohra_e75f579b7888" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png" alt="rajesh_vohra_e75f579b7888"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rajesh_vohra_e75f579b7888/new-on-oracle-dev-gym-groovy-basics-and-advanced-fundamentals-55m9" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;New on Oracle Dev Gym: Groovy Basics and Advanced Fundamentals&lt;/h2&gt;
      &lt;h3&gt;Rajesh Vohra ・ Oct 25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>New on Oracle Dev Gym: Groovy Basics and Advanced Fundamentals</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Sat, 25 Oct 2025 04:20:29 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/new-on-oracle-dev-gym-groovy-basics-and-advanced-fundamentals-55m9</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/new-on-oracle-dev-gym-groovy-basics-and-advanced-fundamentals-55m9</guid>
      <description>&lt;p&gt;The Oracle Dev Gym just got even more exciting! I’ve introduced a brand-new category dedicated to Groovy Basics and Advanced Fundamentals, giving developers a fun and interactive way to strengthen their Groovy skills.&lt;br&gt;
At the Oracle Dev Gym, learning is an active experience — much like a workout at a real gym. After all, you can’t get stronger just by watching someone lift weights! The same applies to coding. Dev Gym workouts keep your knowledge fresh and your thinking sharp. &lt;br&gt;
Here’s how it works:&lt;br&gt;
• Take individual quizzes — multiple-choice questions designed to test and deepen your understanding.&lt;br&gt;
• Step it up with workouts — combine articles or videos with follow-up quizzes that reinforce what you’ve learned.&lt;br&gt;
• Train with over 2,400 quizzes — covering SQL, PL/SQL, Database Design, Java, and now, Groovy!&lt;br&gt;
• Explore mini-MOOCs — short, focused courses that help you master new skills quickly.&lt;br&gt;
The new Groovy section offers both basics, intermediate  and advanced fundamentals, perfect for developers looking to explore this dynamic language or sharpen their existing skills.&lt;br&gt;
Start your Groovy learning workout today:&lt;br&gt;
&lt;a href="https://devgym.oracle.com/pls/apex/f?p=10001:SEARCH:113418077756753::::P1202_SEARCH:Groovy" rel="noopener noreferrer"&gt;https://devgym.oracle.com/pls/apex/f?p=10001:SEARCH:113418077756753::::P1202_SEARCH:Groovy&lt;/a&gt;&lt;br&gt;
At the Oracle Dev Gym, you build coding strength through exercise — so grab your virtual dumbbells and start your Groovy workout today! &lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Mon, 20 Oct 2025 00:10:22 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/-279d</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/-279d</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rajesh_vohra_e75f579b7888" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png" alt="rajesh_vohra_e75f579b7888"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rajesh_vohra_e75f579b7888/revolutionizing-sql-development-with-oracle-apex-ai-assistant-4ccc" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Revolutionizing SQL Development with Oracle APEX AI Assistant&lt;/h2&gt;
      &lt;h3&gt;Rajesh Vohra ・ Oct 20&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#oracle&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#sql&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>oracle</category>
      <category>cloud</category>
      <category>sql</category>
      <category>ai</category>
    </item>
    <item>
      <title>Revolutionizing SQL Development with Oracle APEX AI Assistant</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Mon, 20 Oct 2025 00:09:47 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/revolutionizing-sql-development-with-oracle-apex-ai-assistant-4ccc</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/revolutionizing-sql-development-with-oracle-apex-ai-assistant-4ccc</guid>
      <description>&lt;p&gt;Oracle APEX 24.1 introduces the APEX AI Assistant, a transformative tool that enables developers to generate SQL queries using natural language prompts. This integration simplifies the development process, making it accessible to developers of all skill levels.&lt;/p&gt;

&lt;p&gt;How It Works&lt;/p&gt;

&lt;p&gt;The APEX AI Assistant utilizes Oracle Cloud Infrastructure’s Generative AI to interpret natural language inputs and convert them into syntactically accurate SQL queries. It understands table relationships and can generate complex queries involving multiple tables.&lt;/p&gt;

&lt;p&gt;Example Workflow:&lt;/p&gt;

&lt;p&gt;Input Prompt: A developer types a natural language query, such as “Show total sales per region for the last quarter.”&lt;br&gt;
AI Processing: The assistant processes the input, identifies relevant tables and relationships, and generates the corresponding SQL query.&lt;br&gt;
Iterative Refinement: If the initial query isn’t precise, developers can provide further instructions to refine the output.&lt;br&gt;
Beyond SQL: Comprehensive Code Assistance&lt;/p&gt;

&lt;p&gt;The APEX AI Assistant extends its capabilities beyond SQL generation:&lt;/p&gt;

&lt;p&gt;Code Explanation: It can explain SQL or PL/SQL code, aiding developers in understanding complex logic.&lt;br&gt;
Code Improvement: The assistant suggests optimizations for performance and readability.&lt;br&gt;
Error Analysis: It analyzes and fixes errors, acting as a personal SQL mentor.&lt;br&gt;
This integrated support enhances productivity and ensures higher accuracy in code generation and maintenance.&lt;/p&gt;

&lt;p&gt;Getting Started&lt;/p&gt;

&lt;p&gt;To begin using the APEX AI Assistant:&lt;/p&gt;

&lt;p&gt;Set Up Oracle Cloud Account: Ensure you have an Oracle Cloud account.&lt;br&gt;
Configure AI Provider: Set up an AI provider, such as OpenAI or Cohere, within your Oracle Cloud Infrastructure.&lt;br&gt;
Integrate with APEX: Follow the Oracle documentation to integrate the AI provider with your APEX workspace.&lt;br&gt;
Once configured, you can start interacting with the AI Assistant directly within the APEX App Builder.&lt;/p&gt;

&lt;p&gt;Benefits for Developers&lt;/p&gt;

&lt;p&gt;Enhanced Productivity: Streamlines the development process by automating SQL query generation.&lt;br&gt;
Accessibility: Makes SQL development accessible to developers without deep SQL expertise.&lt;br&gt;
Learning Aid: Acts as a tutor, helping developers understand and improve their code.&lt;br&gt;
Error Reduction: Minimizes errors through intelligent code analysis and suggestions.&lt;br&gt;
The APEX AI Assistant in Oracle APEX 24.1 is a game-changer for developers, simplifying SQL development and enhancing productivity. By integrating natural language processing with database interactions, it empowers developers to build robust applications more efficiently.&lt;/p&gt;

</description>
      <category>oracle</category>
      <category>cloud</category>
      <category>sql</category>
      <category>ai</category>
    </item>
    <item>
      <title>Oracle VBCS - Alta theme is obsolete</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Sun, 19 Oct 2025 17:58:43 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/oracle-vbcs-alta-theme-is-obsolete-3d5k</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/oracle-vbcs-alta-theme-is-obsolete-3d5k</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rajesh_vohra_e75f579b7888" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png" alt="rajesh_vohra_e75f579b7888"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rajesh_vohra_e75f579b7888/upgrading-oracle-vbcs-apps-moving-from-alta-to-the-modern-redwood-theme-574d" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Upgrading Oracle VBCS Apps: Moving from Alta to the Modern Redwood Theme&lt;/h2&gt;
      &lt;h3&gt;Rajesh Vohra ・ Aug 24&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#oracle&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ui&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#erp&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>oracle</category>
      <category>ui</category>
      <category>erp</category>
    </item>
    <item>
      <title>Ai Agent in Oracle Fusion Cloud</title>
      <dc:creator>Rajesh Vohra</dc:creator>
      <pubDate>Sun, 19 Oct 2025 17:57:53 +0000</pubDate>
      <link>https://dev.to/rajesh_vohra_e75f579b7888/ai-agent-in-oracle-fusion-cloud-5hn3</link>
      <guid>https://dev.to/rajesh_vohra_e75f579b7888/ai-agent-in-oracle-fusion-cloud-5hn3</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rajesh_vohra_e75f579b7888" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3455358%2F2ebb0cd3-2b7d-49f9-962c-62cc88699f94.png" alt="rajesh_vohra_e75f579b7888"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rajesh_vohra_e75f579b7888/oracle-fusion-cloud-25d-ai-agent-studio-executive-summary-3cjm" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Oracle Fusion Cloud – 25D AI Agent Studio Executive Summary&lt;/h2&gt;
      &lt;h3&gt;Rajesh Vohra ・ Oct 14&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#oracle&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#erp&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#aiops&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>oracle</category>
      <category>erp</category>
      <category>ai</category>
      <category>aiops</category>
    </item>
  </channel>
</rss>
