优炫数据库:全面兼容主流数据库,平滑替换Oracle

2024年 7月 1日 86.6k 0

编者按:优炫数据库UXDB—面向未来的的智能数据库,全面兼容Oracle、MySQL等主流数据库,在本文中我们将介绍UXDB对Oracle的兼容性,并通过示例详细介绍PL/SQL(过程化SQL语言)方面的完全兼容性,为广大的用户、合作伙伴以及优炫数据库的爱好者提供参考。

优炫数据库:全面兼容主流数据库,平滑替换Oracle-1 

客户应用系统需要什么样的数据库呢?总的说来,有两大方面,一是好用,二是易用。好用主要体现在数据库的功能上,应用系统所需要的功能都能提供,并且随着业务的发展,应用系统需要升级改造,对数据库提出更多要求,如果数据库还能不断满足这些业务需求,我们认为这是一个好用的数据库产品,放眼国内外,能达到这个要求的数据库非常少,Oracle当之无愧算是好用的数据库产品,随着在实际场景下的不断打磨,Oracle数据库提供了全面、丰富的功能,如层次查询、行转列/列转行等,Oracle是比较早提供这些功能的数据库。易用主要体现在数据库所提供的工具上,包括管理工具、开发工具、运维及监控工具、数据库迁移及数据同步工具等,这些工具的界面简洁、友好;工具的使用方法合理、直观;操作步骤上既对普通用户提供最简化的方式、降低使用门槛,又可对高级用户提供更多的选项;界面上能设置缺省值的全部有缺省值,能从列表中选择的就不用输入,不好设置缺省值和选择项的会有填写格式的说明,这样用户使用起来就会容易的多,且不易出错,大幅提升数据库管理和运维的效率。

优炫软件始终致力于为各行业客户提供好用、易用的数据库产品,对标Oracle数据库。去年在DTCCC数据库技术大会上隆重推出共享存储多写多读集群数据库,满足核心业务系统对高可用、高性能、高弹性数据库的需求。同时,优炫软件一直在数据库的兼容性、数据库工具的易用性上持续投入、不断打磨,目前的优炫数据库全面兼容Oracle、MySQL等主流数据库、提供全面且易用的数据库工具。

在本文中,我们将重点介绍优炫数据库的兼容性,后续将介绍优炫数据库的易用性。优炫数据库高度兼容Oracle、MySQL等主流数据库,今天我们重点来看一下对Oracle数据库的兼容。优炫数据库对Oracle数据库的兼容主要有以下几个方面:

  • ‍数据类型(如:NUMBER、VARCHAR2等等)

  • SQL语法(如:WITH FUNCTION、KEEP FIRST/LAST等等)

  • 系统函数(如:NVL函数、RATIO_TO_REPORT窗口函数、REGEXP_LIKE函数等等)

  • 系统包(如:DBMS_OUTPUT、DBMS_SQL、DBMS_JOB等等)

  • 功能(如:同义词、DBLINK、层次查询、间隔分区等等)

  • 接口(如:OCI、Pro*C等等)

  • 系统视图(如:DBA_视图、USER_视图、ALL_视图等等)

  • PL/SQL(如:自定义存储过程、自定义函数、自定义触发器、自定义Package等)

其中的PL/SQL(过程化SQL语言)对应用系统是非常重要的,PL/SQL有非常高的便利性和高效性,便利性主要体现在:将业务逻辑封装在自定义存储过程、自定义函数或自定义包中,当业务逻辑发生变化时,只需要重新建立存储过程、函数或包,应用系统不需要进行修改和升级等操作;高效性主要体现在:当业务逻辑比较复杂,需要和数据库多次交互时,如银行的贷款业务,需要查询身份信息、历史存取款等信息,然后进行贷款操作,可以将这些操作通过一个存储过程在数据库服务器端一次来完成,从而提升业务处理的效率。因此,我们看到有大量的应用系统通过数据库的自定义存储过程、自定义函数、自定义包,来实现业务功能。

下面我们通过自定义存储过程、自定义函数、自定义触发器、自定义Package,来看一下优炫数据库对Oracle的兼容性。

自定义存储过程

下面完全按照Oracle的SQL语法创建存储过程,可以在优炫数据库上成功创建,并且执行结果与Oracle完全相同:

(1)创建测试表Customers:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-2

创建测试表:Customers

(2)创建存储过程Pro_Customers_Insert用于向表中插入数据:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-3 创建存储过程:Pro_Customers_Insert

(3)执行存储过程,并查询表中的记录数量、显示表中的最后5条记录:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-4

执行存储过程,并查询表中的记录数量、显示表中最后5条记录

大家可以看到,上面显示表中最后5条记录的分页查询的SQL语法,也与Oracle完全兼容。

自定义函数

下面完全按照Oracle的SQL语法创建函数,可以在优炫数据库上成功创建,并且执行结果与Oracle完全相同:

(1)创建函数position_test:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-5

创建函数:position_test

(2)调用函数position_test:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-6

调用函数:position_test

自定义触发器

下面完全按照Oracler的SQL语法创建触发器,可以在优炫数据库上成功创建,并且执行结果与Oracle完全相同:

(1)创建测试表:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-7

创建测试表:tb01、tb02

(2)创建触发器:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-8

创建触发器:tri_tb01

(3)向表tb01中增加和更新数据,测试tb02表中是否通过触发器增加和更新了数据:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-9

测试触发器的执行效果

从上面的结果可以看出,向表tb01中增加和更新数据时,通过触发器分别向表tb02增加和更新了数据,触发器实现了预期的效果,并且与Oracle完全兼容。

自定义Package

下面完全按照Oracle的SQL语法创建Package,可以在优炫数据库上成功创建,并且执行结果与Oracle完全相同:

(1)创建测试表:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-10

创建测试表:Customers

(2)创建Package:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-11

创建Package:package_01

(3)创建Package Body:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-12

优炫数据库:全面兼容主流数据库,平滑替换Oracle-13

 

创建Package Body:package_01

(4)调用package:

优炫数据库:全面兼容主流数据库,平滑替换Oracle-14

上面这个Package将前面示例中的自定义存储过程、自定义函数进行了封装,实现的功能与单独的自定义存储过程、自定义函数是相同的,通过Package进行统一管理,会更方便些。

上面介绍了UXDB对Oracle的兼容性,并通过示例详细介绍了PL/SQL(过程化SQL语言)方面的完全兼容性,为我们的用户和合作伙伴提供参考。各位用户和合作伙伴在使用优炫数据库的过程中,若遇到兼容性及其他方面的问题,欢迎为我们提供反馈或建议,联系邮箱是:uxdb-market@uxsino.com。

关于优炫软件

北京优炫软件股份有限公司(以下简称:优炫软件)成立于2009年,专注于数据库及周边工具的研发、销售和服务,不断攻克关键技术,提供面向未来的智能数据库产品,是国产数据库领军企业,信创产业领域“四梁八柱”企业。优炫软件坚持关键核心技术自主创新,获得国家发明专利、软件著作权、公司及产品资质荣誉累计1000余项,设立北京、武汉、成都、西安四大研发中心和分布于全国的30余家分支机构,广泛服务于政府、金融、军工、能源、医疗、教育等关系国计民生的重大核心领域,成功入围中海油、大唐集团、重庆国资委、云上贵州、大连银行、军队等众多战略行业及客户,稳健高效支撑第七次全国人口普查等国家级重点项目,为国家信息安全提供关键技术支撑。

-FIN-
优炫数据库:全面兼容主流数据库,平滑替换Oracle-1优炫数据库:全面兼容主流数据库,平滑替换Oracle-16优炫数据库:全面兼容主流数据库,平滑替换Oracle-1优炫数据库:全面兼容主流数据库,平滑替换Oracle-3优炫数据库:全面兼容主流数据库,平滑替换Oracle-19优炫数据库:全面兼容主流数据库,平滑替换Oracle-20优炫数据库:全面兼容主流数据库,平滑替换Oracle-21

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论