Oracle脚本向Postgresql转化利器
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
去https://www.deskui.com (HHDBCS社区),下载Linux下的JDK
把下载的jdk解压到,HHDBCS解压后的jdk目录
把HHDBCS解压后的start_csadmin.sh改为可运行, chmod +x start_csadmin.sh
直接运行start_csadmin.sh
2 转化过程
Oracle脚本:
1 2 3 4 5 6 7 8 9 | 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脚本:
1 2 3 4 5 6 | 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 ; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了