Friday, September 25, 2026
  • About Us
  • Contact
DBAInsight
  • Guides
    • 23ai
    • RMAN
    • 26ai
    • Patch Update
    • RMAN
    • MySQL
    • Oracle GoldenGate
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification
NEWSLETTER
No Result
View All Result
DBAInsight
Home 23ai

Oracle Database 23ai New Features – A Practical Guide for Developers and DBAs

March 26, 2026
in 23ai
0
Oracle Database 23ai New Features – A Practical Guide for Developers and DBAs
0
SHARES
198
VIEWS

Oracle has taken a major leap forward with Oracle Database 23ai, introducing hundreds of new features designed to simplify development, improve performance, and align more closely with modern SQL standards. While the full feature list is extensive, this article walks you through some of the most impactful and developer-friendly enhancements you should start using right away.

Let’s break them down in a practical, easy-to-understand way.

Table of Contents

Toggle
    • Related posts
    • Oracle ASM Instance Management: A Complete Guide to Flex ASM Architecture and Administration
    • Oracle 23c Is Quietly Solving One of the Most Tedious Parts of Being a DBA
  • 1. SELECT Without FROM Clause – Goodbye DUAL
    • Before (Old Versions)
    • Now (Oracle 23ai)
    • Why This Matters
  • 2. GROUP BY Column Alias or Position
    • Using Column Alias
    • Using Column Position
    • Benefits
  • 3. Table Value Constructor (TVC)
    • Example with SELECT
    • Why It’s Useful
  • 4. Multi-Value INSERT – Insert Multiple Rows in One Go
    • Before
    • Now (Oracle 23ai)
    • Benefits
  • 5. Direct Joins for UPDATE and DELETE
    • UPDATE with JOIN
    • DELETE with JOIN
    • Why This Is a Game-Changer
  • 6. RETURNING Clause Enhancements
    • Example
    • Benefits
  • 7. IF EXISTS and IF NOT EXISTS Support
    • Examples
    • Why This Helps
  • Real-World Impact for Developers
    • Developer Productivity
    • Performance Improvements
    • Better Compatibility
  • Practical Example Combining Features
  • Final Thoughts
  • Recommendation

Related posts

Oracle ASM Instance Management: A Complete Guide to Flex ASM Architecture and Administration

Oracle ASM Instance Management: A Complete Guide to Flex ASM Architecture and Administration

June 2, 2026
Oracle 23c Is Quietly Solving One of the Most Tedious Parts of Being a DBA

Oracle 23c Is Quietly Solving One of the Most Tedious Parts of Being a DBA

May 26, 2026

1. SELECT Without FROM Clause – Goodbye DUAL

One of the most noticeable improvements in Oracle 23ai is the ability to run SELECT statements without needing the DUAL table.

Before (Old Versions)

SELECT SYSDATE FROM dual;
SELECT 5280 * 1.5 FROM dual;

Now (Oracle 23ai)

SELECT SYSDATE;
SELECT 5280 * 1.5;

Why This Matters

  • Cleaner and more readable SQL
  • Less unnecessary boilerplate
  • Aligns Oracle with other modern databases

This feature is especially useful for:

  • Quick calculations
  • Function calls
  • Testing expressions

2. GROUP BY Column Alias or Position

Grouping data just became more flexible.

Using Column Alias

Previously, Oracle required full column names in GROUP BY. Now you can use aliases:

SELECT department_id AS dept, AVG(salary)
FROM employees
GROUP BY dept;

Using Column Position

You can also group by the column’s position in the SELECT list:

ALTER SESSION SET group_by_position_enabled = TRUE;

SELECT department_id, AVG(salary)
FROM employees
GROUP BY 1;

Benefits

  • Shorter and cleaner queries
  • Easier maintenance when working with long column names
  • Matches behavior in other SQL platforms

3. Table Value Constructor (TVC)

This is a powerful addition that allows you to define inline datasets.

Example with SELECT

SELECT e.first_name, e.last_name
FROM employees e
JOIN (VALUES (100, 200), (101, 201)) v(emp_id, mgr_id)
ON e.employee_id = v.emp_id;

Why It’s Useful

  • Create temporary datasets without tables
  • Simplify joins with static data
  • Improve readability in test queries

4. Multi-Value INSERT – Insert Multiple Rows in One Go

In older versions, inserting multiple rows required multiple statements.

Before

INSERT INTO departments VALUES (1, 'HR');
INSERT INTO departments VALUES (2, 'Finance');
INSERT INTO departments VALUES (3, 'IT');

Now (Oracle 23ai)

INSERT INTO departments (id, name)
VALUES 
  (1, 'HR'),
  (2, 'Finance'),
  (3, 'IT');

Benefits

  • Faster inserts
  • Reduced network overhead
  • Cleaner scripts

This is especially useful for:

  • Batch data loading
  • Initial setup scripts
  • Testing environments

5. Direct Joins for UPDATE and DELETE

One of the most developer-requested features is finally here!

UPDATE with JOIN

UPDATE employees e
SET salary = j.max_salary
FROM jobs j
WHERE e.job_id = j.job_id;

DELETE with JOIN

DELETE FROM job_history jh
USING employees e
WHERE jh.employee_id = e.employee_id
AND e.department_id = 10;

Why This Is a Game-Changer

  • No need for complex subqueries
  • Easier to write and understand
  • Better performance in many cases

Previously, you had to rely on correlated subqueries, which were harder to read and maintain.


6. RETURNING Clause Enhancements

Oracle 23ai improves the RETURNING clause for UPDATE and MERGE.

Example

UPDATE employees
SET salary = salary * 1.1
RETURNING employee_id, salary INTO :emp_id, :new_salary;

Benefits

  • Fetch updated values immediately
  • Reduce extra SELECT queries
  • Improve application performance

7. IF EXISTS and IF NOT EXISTS Support

Conditional object handling is now much simpler.

Examples

DROP TABLE employees IF EXISTS;

CREATE TABLE employees (
  id NUMBER
) IF NOT EXISTS;

Why This Helps

  • Avoid errors during deployment
  • Simplify automation scripts
  • Improve DevOps workflows

Real-World Impact for Developers

These features aren’t just syntactic sugar—they solve real problems.

Developer Productivity

  • Less code to write
  • Easier debugging
  • More readable SQL

Performance Improvements

  • Fewer round trips (multi-insert, returning clause)
  • Optimized execution paths

Better Compatibility

Oracle is now closer to:

  • PostgreSQL
  • MySQL
  • SQL Server

This makes it easier for developers switching between databases.


Practical Example Combining Features

Here’s a modern Oracle 23ai query using multiple new features:

ALTER SESSION SET group_by_position_enabled = TRUE;

INSERT INTO departments (id, name)
VALUES (10, 'Engineering'), (20, 'Marketing');

SELECT department_id, AVG(salary)
FROM employees
GROUP BY 1;

UPDATE employees e
SET salary = j.max_salary
FROM jobs j
WHERE e.job_id = j.job_id;

Clean, readable, and efficient.


Final Thoughts

Oracle Database 23ai is a significant upgrade that focuses heavily on developer experience and SQL simplicity. Features like:

  • SELECT without FROM
  • GROUP BY alias/position
  • Multi-row inserts
  • Direct joins in UPDATE/DELETE

…all contribute to making Oracle more modern and easier to work with.

If you’re a DBA or developer, adopting these features can:

  • Reduce development time
  • Improve code quality
  • Make your SQL more maintainable

Recommendation

While this article covered key highlights, Oracle 23ai includes hundreds of additional features. It’s worth exploring the official documentation to fully understand its capabilities.

Start small—try replacing DUAL, use multi-row inserts, and experiment with direct joins. You’ll quickly notice how much smoother your SQL development becomes.

Tags: Oracle 23ai new featuresOracle Database 23aiOracle Database UpgradeOracle multi-row insertOracle SQL improvementsOracle update joinSELECT without FROM Oracle
Previous Post

ORA-39701: Database Must Be Mounted EXCLUSIVE for UPGRADE or DOWNGRADE – Causes and Solution

Next Post

Introduction to SQL: How It Works, Statement Types, and Oracle Tools Explained

Next Post
Introduction to SQL: How It Works, Statement Types, and Oracle Tools Explained

Introduction to SQL: How It Works, Statement Types, and Oracle Tools Explained

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

  • Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    0 shares
    Share 0 Tweet 0
  • How To Download And Install The Latest OPatch

    0 shares
    Share 0 Tweet 0
  • How to Install Oracle 19c Database on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • Oracle Database 19.32 Release Update (RU) Patching Guide – Patch 39472050

    0 shares
    Share 0 Tweet 0
  • Installing Oracle Database 26AI on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • About Us
  • Contact

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

No Result
View All Result
  • Home
  • Cloud & Modern DBs
  • Guides
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

Add as a preferred source on Google
Add as preferred source on Google