1

oracle 23c新功能一览及部分特性测试 -m6米乐安卓版下载

原创 刘贵宾 2023-04-14
1654

oracle database 23c 提供了 300 新特性和增强功能,本文给大家做一个简要的介绍,主要涉及开发者相关的功能。


json关系对偶

数据可以透明地访问和更新为json文档或关系表。

开发人员受益于两者的优势,这些优势比对象关系映射(orm)更简单、更强大。

参见。

操作属性图

开发人员现在可以利用其行业领先的安全性、高可用性和性能能力,直接在甲骨文数据库中根据操作数据构建实时图形分析应用程序。

请参阅。

微米乐app官网下载的服务支持

除了甲骨文已经对微服务的全面支持外,新功能使实施跨服务事务变得更加简单。

参见。

无锁列值预订

无锁列值保留允许应用程序保留列中部分值,而无需锁定该行;例如,保留部分银行账户余额或在库存中保留项目,而无需锁定银行账户或项目的所有其他操作。

请参阅。

okafka

kafka应用程序现在可以直接对oracle数据库运行,只需最小的代码更改,利用高性能事务事件队列(txeventq)。

请参阅

javascript存储过程

开发人员现在可以在数据库中使用javascript创建存储过程。此功能还允许开发人员利用大量的javascript库。

请参阅。

sql域

sql域允许开发人员以集中和轻量化的方式声明数据(列)的预期用途。例如,声明一列包含电子邮件、url、密码、货币等。应用程序可以使用sql域自动生成代码或验证值。

参见。

许多数据类型和sql增强功能

以下是许多数据类型和sql增强功能:

    每张表最多4096列

    数据库表现在支持多达4096列。此功能简化了需要大量属性的应用程序的开发,例如ml和物联网。

    请参阅。

    改进的机器学习算法

    oracle数据库内机器学习算法的新改进使文本和数据的分类更简单,同时提供更好的性能和灵活性。

    参见。

    模式特权

    现在可以在模式级别授予系统特权。此功能简化了特权管理过程,因此可以轻松保护数据库。

    请参阅。

    开发人员角色

    新角色允许管理员仅为开发人员设计、构建和部署oracle数据库所需的权限快速分配开发人员。

    请参阅。

    azure ad oauth2集成

    新功能允许单点登录oracle数据库服务实例或来自microsoft azure cloud的本地oracle数据库。

    请参阅。


    部分特性测试

    开发者新特性--无表查询

    很多数据库都支持没有 from 子句的查询,可以直接返回表达式或者函数的值。oracle 则提供了虚拟的 dual 表。不过从 oracle 23c 开始,也支持了这种无表查询语句。下面让我们一起来看看:

    --查询示例
    sql> select 'oracle database 23c' as db, sysdate as now, 'i am vip' name;
    db		    now       name
    ------------------- --------- --------
    oracle database 23c 13-apr-23 i am vip
    sql> 
    


    开发者新特性--boolean 数据类型

    oracle database 23c 引入了新的 boolean 数据类型,可以用于字段定义和 sql 语句。

    true、false、't'、'f'、'true'、'yes' 等可以作为 boolean 类型的输入数据,任何非 0 的数字都会被转换为 true,数字 0 则会被转换为 false。

    --创建测试表并插入数据
    create table test_bool (val varchar2(10), flg boolean);
    insert into test_bool values ('true'  , true );
    insert into test_bool values ('false' , false);
    insert into test_bool values ('null'  , null );
    insert into test_bool values ('t'     ,'t'   );
    insert into test_bool values ('yes'   ,'yes' );
    insert into test_bool values ('true'  ,'true');
    insert into test_bool values ('f'     ,'f'   );
    insert into test_bool values ('0'     , 0    );
    commit;
    sql> desc test_bool
     name					   null?    type
     ----------------------------------------- -------- ----------------------------
     val						    varchar2(10)
     flg						    boolean
    sql> select val from test_bool where flg;
    val
    ----------
    true
    t
    yes
    true
    sql> 
    sql> select val from test_bool where not flg;
    val
    ----------
    false
    f
    0
    sql> 
    


    开发者新特性--基于别名的 group by

    oracle database 23c 可以基于表达式的别名或者它在 select 列表中的位置指定 group by 和 having 操作。

    select extract(year from hire_date) yr, count(*) as total_emp
    from employee
    group by yr
    having total_emp > 5;


    开发者新特性--模式级别的特权

    oracle database 23c 支持基于整个模式的特权管理:

    grant select any table
    on schema hr  
    to user01;


    开发者新特性--create table if not exists

    在之前的版本中,如果创建一个已经存在的表,将会返回 ora-00955: name is already used by an existing object 错误;如果删除一个不存在的表,将会返回 ora-00942: table or view does not exist 错误。

    oracle database 23c 支持 create table if not exists 以及 drop table if exists 语句,可以避免这些问题:

    --在表已存在情况下使用普通语句创建表
    sql> create table test_bool (val varchar2(10), flg boolean); create table test_bool (val varchar2(10), flg boolean) * error at line 1: ora-00955: name is already used by an existing object
    --在表已存在情况下使用if not exists语句创建表 sql> create table if not exists test_bool (val varchar2(10), flg boolean); table created.
    --在表不存在情况下使用drop table命令删除表 sql> drop table test; drop table test * error at line 1: ora-00942: table or view does not exist
    --在表不存在情况下使用drop table if exists命令删除表 sql> drop table if exists test; table dropped. sql>
    最后修改时间:2023-04-14 16:41:18
    「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
    关注作者
    1人已赞赏
    【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论

    网站地图