
How to Validate JSON with DBMS_JSON_SCHEMA
Check JSON documents against a schema in PL/SQL, get a report of every error, and generate schemas from tables.
PL/SQL (Procedural Language for SQL) is Oracle's proprietary extension to standard SQL. It combines the data manipulation power of SQL with the procedural capabilities of a programming language. PL/SQL allows developers to write complex database-centric applications by incorporating variables, conditions, loops, error handling, and modular programming constructs like procedures and functions. This language is tightly integrated with Oracle databases, enabling efficient data processing and transaction management.

Check JSON documents against a schema in PL/SQL, get a report of every error, and generate schemas from tables.

Build JSON arrays element by element in PL/SQL, read them by position, and insert, remove, and check elements.

Read and change JSON documents step by step in PL/SQL, and move them between JSON columns and JSON_OBJECT_T.

Install a new version of PL/SQL code next to the old one in a new edition, test it, and switch sessions over without downtime.

Compare two versions of a table and generate the ALTER statements between them, then review what the script would do.

Script out the DDL of many objects at once, filtered by name or base table, with the DBMS_METADATA open-fetch-close API.

Rebuild the CREATE statement of any object from the data dictionary, with its indexes and constraints, ready to run as a script.

Record only the queries that read sensitive columns of chosen rows, and run a handler procedure every time one happens.

Keep every row visible but show sensitive columns such as e-mail and phone only where a security policy allows it.

Encrypt data and detect any change to it with AES-GCM, using an authentication tag and additional authenticated data.

Protect sensitive values with AES-256 encryption in PL/SQL, with random keys and a new initialization vector for every value.

Have Oracle call your PL/SQL procedure after committed changes to the tables a query reads, with the table, operation, and rows.

Let sessions wait for named events and wake them with a message that is delivered when the signaling transaction commits.

Send packed messages from one session to another through named pipes in memory, and keep a cached value in a singleton pipe.

Create a sharded, high-throughput event queue in one call, publish JSON events, and read them as a subscriber.

Deliver each queue message to several subscribers, filter what each receives with rules, and dequeue by consumer name.

Take messages off a queue in priority order, wait for new ones, filter by correlation ID, and browse without removing.

Add messages to a queue with priorities, correlation IDs, expiration, and delays, committed together with your data.