Oracle 23c数据库的10个特性介绍

Posted bisal(Chen Liu)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 23c数据库的10个特性介绍相关的知识,希望对你有一定的参考价值。

看到eygle在数据和云上写了一篇文章,介绍了DOAG 2022会议披露Oracle Database 23c的10个有意思的特性,有些看起来是从其他数据库借鉴过来的,有些则解决了之前操作上的不便,值得关注一下。

(1) 不带FROM子句的SELECT 查询

在Oracle 23c中,第一次实现了不带From子句的查询,因而原来大量依赖 Dual表的查询,可以松下了一口气,

(2) 单表支持4096列

Oracle 此前版本单表支持 1000列。在23c中,单表支持列数量扩展到4096列。启用这一个特性需要将兼容性参数设置为23.0.0,同时将 Max_columns设置为Extended,

alter system set MAX_COLUMNS=EXTENDED;

(3) SCHEMA级别的权限

在23c之前的版本,如果针对Schema对其他用户进行授权,需要通过系统权限或对象权限分别显式地授予,这对数据库带来了额外的安全风险或复杂性。

在Oracle 23中,可以对Schema进行授权,简化了之前的权限操作,

grant select any table on SCHMEA PROD to HR;


(4) Boolean数据类型

最终,在Oracle Database 23c中,布尔数据类型被支持,

(5) 基于别名的GROUP BY

终于,我们不再需要在Group By中重复长长的表达式,现在支持基于别名、位置的GROUP BY,这大大简化了SQL文本和编写,毕竟Group by如此常用、无处不在,

(6) Javascript存储过程

在Oracle 21c中引入的MLE支持了数据库内部的javascript ,现在更进一步,23c实现javascript存储过程,让数据库内的处理能力进一步扩展和增强,

(7) SQL Domains

SQL域,域是特定类型数据元素的通用定义,例如名称、邮政编码、国家代码。这个通用定义可以有几个属性——例如格式(检查约束)、默认值、默认显示格式和按基于域的值排序时要使用的表达式。

在Oracle Database 23c中,域可以定义为数据库对象,并且在定义列时,可以将其链接到域定义,形成一个潜在元数据组。通过新函数DOMAIN_DISPLAY和DOMAIN_ORDER可以在查询语句中使用显示格式和 order by表达式。

(8) DDL的IF EXISTS判断

在DDL中,支持通过IF [NOT] EXISTS判断,从而规避执行过程中的错误、异常和中断,

(9) 注释

注释,为数据库对象增加元数据支持,可以针对表、视图、列、索引、PL/SQL 程序单元、物化视图、域增加注释,

(10) 标准的表值构建

一次产生多行记录,是基于ISO SQL标准的实现,

如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,

近期更新的文章:

参加腾讯云TVP的Coding吐槽大会感想

世界足坛的一些著名"德比"

什么是"美林时钟"?

MySQL的insert执行操作慢,该怎么整?

MySQL无监听端口的一个场景

近期的热文:

"红警"游戏开源代码带给我们的震撼

文章分类和索引:

公众号1000篇文章分类和索引

以上是关于Oracle 23c数据库的10个特性介绍的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Database 23c 开发者新特性概览

Oracle Database 23c新特性之注解

快速尝鲜Oracle 23c免费开发者版,惊喜多多

WAF Bypass数据库特性(Oracle探索篇)

Educational Codeforces Round 23C

oracle学习篇:重做(Redo)