diff --git a/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/README.md b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/README.md new file mode 100644 index 000000000..10bf1179e --- /dev/null +++ b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/README.md @@ -0,0 +1,19 @@ +## Oracle Database 23ai support for JSON Duality and Collection Views + +This repository contains scripts demonstrating support for Oracle JSON views in Oracle Database 23ai and Oracle API for MongoDB + + +## Requirements +- mongosh installed +- SQL Cl installed +- Oracle Database 23ai with Oracle API for MongoDB enabled +- HR database sample schema installed + +## License + +Copyright (c) 2025 Oracle and/or its affiliates. + +Licensed under the Universal Permissive License (UPL), Version 1.0. + +See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details. + diff --git a/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/mongosh.js b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/mongosh.js new file mode 100644 index 000000000..3eb074025 --- /dev/null +++ b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/mongosh.js @@ -0,0 +1,6 @@ +show collections + +db.deptview.find() +db.deptview.insertOne({_id:'991',dname:'human resources',location:1700}) + +db.empview.find() diff --git a/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/sqlcl.sql b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/sqlcl.sql new file mode 100644 index 000000000..67a9b3802 --- /dev/null +++ b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/sqlcl.sql @@ -0,0 +1,5 @@ +select * +from user_json_collections; + +soda list + diff --git a/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/views_definitions.sql b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/views_definitions.sql new file mode 100644 index 000000000..080042d7a --- /dev/null +++ b/data-platform/autonomous-database/autonomous-json/oracle23ai-json-views-support/views_definitions.sql @@ -0,0 +1,35 @@ +drop view empview; +drop view deptview; +drop table departments cascade constraints; +drop table employees cascade constraints; + +create table departments +as +select * +from hr.departments; + +create table employees +as +select * +from hr.employees; + +alter table departments add primary key(department_id); +alter table employees add primary key(employee_id); + +create or replace json collection view empview +as +select json{'_id' : employee_id, + last_name, + hire_date, + salary} +from employees; + +select * +from user_json_collections; + +create or replace json relational duality view deptview as +select json {'_id' : department_id, + 'dname' : department_name, + 'location' : location_id} +from departments with insert update delete; +