|
| 1 | +## Overview |
| 2 | +This section covers the new features introduced in the Oracle Database 23ai release, focusing on enhancements and functionalities in SQL for application development. |
| 3 | +## Features |
| 4 | +### Aggregation over INTERVAL Data Types |
| 5 | +- **Description**: Pass INTERVAL data types to SUM and AVG aggregate functions. |
| 6 | +- **Example**: ```sqlSELECT SUM(interval_column) FROM table_name;` |
| 7 | +### Client Describe Call Support for Tag Options |
| 8 | +- **Description**: Store and retrieve metadata about database objects using annotations. |
| 9 | +- **Example**: `ALTER TABLE table_name ANNOTATE 'key' = 'value';` |
| 10 | +### DEFAULT ON NULL for UPDATE Statements |
| 11 | +- **Description**: Define columns as DEFAULT ON NULL for update operations. |
| 12 | +- **Example**: `UPDATE table_name SET column_name = DEFAULT ON NULL WHERE condition;` |
| 13 | +### Data Quality Operators |
| 14 | +- **Description**: Introduces PHONIC_ENCODE and FUZZY_MATCH operators for string matching. |
| 15 | +- **Example**: `SELECT PHONIC_ENCODE('word'), FUZZY_MATCH('string1', 'string2') FROM dual;` |
| 16 | +### Data Use Case Domains |
| 17 | +- **Description**: Define and apply constraints for common values like credit card numbers. |
| 18 | +- **Example**: `CREATE DOMAIN email_domain AS VARCHAR2(255) CHECK (REGEXP_LIKE(value, '^[\w._%+-]+@[\w.-]+\.[a-zA-Z]{2,}$'));` |
| 19 | +### Direct Joins for UPDATE and DELETE Statements |
| 20 | +- **Description**: Join target tables in UPDATE and DELETE statements using the FROM clause. |
| 21 | +- **Example**: `UPDATE table1 SET column1 = table2.column2 FROM table2 WHERE table1.id = table2.id;` |
| 22 | +### GROUP BY Column Alias or Position |
| 23 | +- **Description**: Use column aliases or SELECT item positions in GROUP BY clauses. |
| 24 | +- **Example**: `SELECT column1 AS col1, SUM(column2) FROM table_name GROUP BY col1;` |
| 25 | +### IF [NOT] EXISTS Syntax Support |
| 26 | +- **Description**: Support for IF EXISTS and IF NOT EXISTS syntax in DDL operations. |
| 27 | +- **Example**: `CREATE TABLE IF NOT EXISTS table_name (column1 datatype);` |
| 28 | +### New Database Role for Application Developers |
| 29 | +- **Description**: Introduces DB_DEVELOPER_ROLE with necessary privileges for developers. |
| 30 | +- **Example**: `GRANT DB_DEVELOPER_ROLE TO user_name;` |
| 31 | +### Oracle SQL Access to Kafka |
| 32 | +- **Description**: Efficient access to data streams from Apache Kafka and OCI Streaming Service. |
| 33 | +- **Example**: `SELECT * FROM kafka_table WHERE topic = 'topic_name';` |
| 34 | +### SELECT Without FROM Clause |
| 35 | +- **Description**: Run SELECT expression-only queries without a FROM clause. |
| 36 | +- **Example**: `SELECT 1+1;` |
| 37 | +### SQL BOOLEAN Data Type |
| 38 | +- **Description**: Supports ISO SQL standard-compliant BOOLEAN data type. |
| 39 | +- **Example**: `CREATE TABLE table_name (column1 BOOLEAN);` |
| 40 | +### SQL UPDATE RETURN Clause Enhancements |
| 41 | +- **Description**: Enhanced RETURNING INTO clause for reporting old and new values. |
| 42 | +- **Example**: `UPDATE table_name SET column1 = 'new_value' RETURNING column1 INTO :old_value;` |
| 43 | +### Schema Annotations |
| 44 | +- **Description**: Store and retrieve metadata about database objects using name-value pairs. |
| 45 | +- **Example**: `ANNOTATE SCHEMA 'key' = 'value';` |
| 46 | +### Table Value Constructor |
| 47 | +- **Description**: Supports VALUES clause for SELECT, INSERT, and MERGE statements. |
| 48 | +- **Example**: `INSERT INTO table_name VALUES (1, 'value');` |
| 49 | +### Ubiquitous Search With DBMS_SEARCH Packages |
| 50 | +- **Description**: Index multiple schema objects for full-text search using DBMS_SEARCH. |
| 51 | +- **Example**: `EXEC DBMS_SEARCH.CREATE_INDEX('index_name', 'table_name');` |
| 52 | +## Team Publications |
| 53 | +- [23ai New Features Series - Part 1](https://www.linkedin.com/posts/sonnemeyer_23aispecialists-23ainewsabrpart1-developer-activity-7196221427056889856-3HF2?utm_source=share&utm_medium=member_desktop) |
| 54 | +- [23ai New Features Series - Part 2](https://www.linkedin.com/posts/cristina-varas-menadas-591825119_oracle-oracle23ai-sql-activity-7198945654272864256-wduQ/?utm_source=share&utm_medium=member_ios) |
| 55 | +- [23ai New Features Series - Part 3](https://www.linkedin.com/posts/sonnemeyer_23aispecialists-23ainewsabrpart3-developer-activity-7201958687005982721-Oo3B?utm_source=share&utm_medium=member_desktop) |
| 56 | +- [23ai New Features Series - Part 4](https://www.linkedin.com/posts/sonnemeyer_23aispecialists-23ainewsabrpart4-teammates-activity-7204946957843267584-x664?utm_source=share&utm_medium=member_desktop) |
| 57 | +- [23ai New Features Series - Part 5](https://www.linkedin.com/posts/ppaolucci_cristinavarasmenadas-sonjameyer-activity-7207374755878887425-a--C?utm_source=share&utm_medium=member_desktop) |
| 58 | +## Release Informationnnn |
| 59 | +- **Version**: 23ai |
| 60 | +- **Applicable Offerings**: All Oracle Database offerings ................. |
| 61 | +For more detailed information, please visit the [Oracle Database Features](https://apex.oracle.com/database-features/) page. |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
0 commit comments