SQLShift 简介
SQLShift 是由国内爱可生公司推出的一款企业级智能 SQL 语言转换平台,专门解决异构数据库迁移过程中的存储过程、触发器、函数等复杂对象的自动化迁移难题。打破了异构数据库限制,智能实现存储过程等非表对象无缝适配,免去高额改造成本!
核心功能与特点
当前已支持 Oracle → OceanBase、Oracle → PostgreSQL、SQL Server → GaussDB 等迁移路径。 | |
深度融合 AI 与 SQL 语法专家模型,可自动将源数据库的存储过程、触发器、函数等转换为目标数据库语法,显著降低人工改写成本。 | |
实际应用场景
- 国产化替代:如从 Oracle 迁移到国产数据库 OceanBase,解决 ROWNUM 分页、DBMS_JOB 调度等高频语法差异问题。
- 效率提升:传统需 10 天人工迁移的任务,借助 SQLShift 可压缩至 4 小时完成。
产品版本
官方网站
访问官网后需要进行注册登录,登录之后,点击页面左下角“领取额度”,输入兑换码:83103ce2-9167-439c-a03c-532c911fb516,领取后额度是1100积分。
SQL在线转换体验过程
新建项目
分别选择源库和目标库的类别,项目名称自动生成,支持自行更改项目名称。官网在线免费使用平台中源端数据库下拉列表中支持Oracle和SQLServer,目标端数据库下拉列表中支持OceanBase和PostgreSQL。
新建转换任务
当下任务编号不支持自动更改,系统自动生成,源端存储过程SQL有行数限制,输入源端SQL后点击确认。
CREATE OR REPLACE PROCEDURE dealwithAccDate AS
------------------------------------------------------------------------
-- SQL 存储过程 处理备案登记时受理日期为新加字段,数据为空的问题,老数据更新为创建日期
-- 创建人:tony
-- 迁移人:tony
------------------------------------------------------------------------
V_BA_BS NUMBER;--备案标示
v_countOne NUMBER;
--游标声明
cursor cursor6 is select id from REG_EntRecord;
BEGIN
open cursor6;
loop
fetch cursor6 into V_BA_BS;
exit when cursor6%notfound;
select count(*) into v_countOne from REG_EntRecord where ID = V_BA_BS;
if(v_countOne > 0) then
update REG_EntRecord set AccDate=(select RegDate from REG_EntRecord where ID = V_BA_BS) where ID = V_BA_BS;
commit;
end if;
end loop;
close cursor6;
END dealwithAccDate;
查看转换进度
查看转换结果
注意事项
目前仅对 SQL Server 向 Gauss 支持超过 400至3000 行左右的SQL转换。其他转换链路SQL行数都不能超过 400,其实原则上支持超过400行的SQL转换但是少量数据类型还处于微调中,期待新版本发布,新版本会带来更好的在线转换体验。




