Oracle脚本向Postgresql转化利器

本文介绍了在国产化趋势下,如何使用HHDBCS数据库管理工具进行Oracle到Postgresql的数据库脚本转换。该工具能够自适应转化复杂的Oracle语法,简化迁移过程。转化实例中展示了一个Oracle查询脚本及其对应的Postgresql转化脚本,为数据库迁移提供参考。
摘要由CSDN通过智能技术生成

1 背景
目前,国内掀起一股去IOE的浪潮,其中大部分厂商采用开源的Postgresql数据库作为Oracle数据库的替代品,但是具体用Postgresql替换Oracle数据库的过程,碰到各种问题,特别在老旧应用系统Oracle数据库替换成Postgresql后,原Oracle数据库数据(Oracle语法及其复杂)和脚本向Postgresql转化成为了前进的拦路虎,让很多人望而却步,可喜的是,现在有一款国人自产的数据库脚本转化利器(恒辉通用桌面管理工具)能够自适应完成Oracle脚本向Postgresql数据库脚本的转化。
HHDBCS数据库管理工具是一款纯国产数据库管理工具,可管理所有常见关系型数据库(Oracle/Mysql/HHDB/Postgresql/达梦等);通过所有国产化软件硬件兼容性认证,可在所有平台上运行。体验请移步:
去https://www.deskui.com (HHDBCS社区),下载最新版本
去https://www.deskui.com (HHDBCS社区),下载Linux下的JDK
把下载的jdk解压到,HHDBCS解压后的jdk目录
把HHDBCS解压后的start_csadmin.sh改为可运行, chmod +x start_csadmin.sh
直接运行start_csadmin.sh
2 转化过程
Oracle脚本:

SELECT
    1 as con_1, '2' as
    con_2,tt.emp_id,lead_id,emp_name,salary,level,to_char
    (salary,'999') 
FROM
    emp tt
WHERE
    level>1 START WITH lead_id = 0 connect BY prior
    tt.emp_id = lead_id

在这里插入图片描述
转化的Postgresql脚本:

WITH RECURSIVE Tab_HH__9 AS (
SELECT tt.emp_id,lead_id,emp_name,salary,1 AS level ,to_char(salary::numeric,'999') AS alias_HH__18  FROM EMP tt WHERE lead_id::numeric=0  
UNION ALL SELECT Tab_HH__10.emp_id,Tab_HH__10.lead_id,Tab_HH__10.emp_name,Tab_HH__10.salary,Tab_HH__9.level + 1 AS level ,Tab_HH__10.alias_HH__18 FROM (
SELECT tt.emp_id,lead_id,emp_name,salary,to_char(salary::numeric,'999') AS alias_HH__18  FROM EMP tt) Tab_HH__10 
INNER JOIN Tab_HH__9 ON Tab_HH__9.emp_id=Tab_HH__10.lead_id)
SELECT 1 AS con_1 ,'2' AS con_2 ,emp_id,lead_id,emp_name,salary,level,alias_HH__18 FROM Tab_HH__9 WHERE level>1 ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值