oracle 全量存储过程,Oracle到PG存储过程自动转换实践(12页)-原创力文档

O rac le 到PG存储过程自动转换实践

- - 全量语法解析技术

Oracle转PG的痛中之痛 -- 过程语言的转换

简单语法差异

Oracle PG

delete delete [from] tab delete from tab

daul select 1*4 from dual; select 1*4

Select select name from (select * from select name from (select * from person)

person) tab

update update person p set p.name='张三' update person set name='张三'

ora2pg转换部分语句

使用正则表达式查询,然后替换

可以搞定简单的语法,对于复杂的转换有很高的错误率

复杂语法差异

Oracle语法 PG替代方案

start ... connect by with替代

merge with结合insert

insert all 多个insert

+ 连接 join替代

ora2pg对于复杂转换有很高的错误率

ora2pg对于复杂循环嵌套力不从心

SQL是一种反复嵌套的语言

with as

table name

union

select item

select

Data set Join Data set

select select where

select Data set

group

union

select connect 全量语法解析可以全面的分析对象树

order

工银银行之转化实践1

迁移项目 成功率 检验标准

Oracle数据表\视图\索引\约束\序列 100% 数目一致

Oracle存储过程自动移植率 96.9% 成功编译,无异常

Oracle功能移植率 75.6% 自动化测试用例+人工测试

软件发布管理系统 (SMPS) 花费移植时间1人1天 (含搭建环境)

存储过程共计16万行

工银银行之转化实践2

元数据及软件资源信息管理系统 (SEAS )

存储过程共计170

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值