免费试用

SQLShift V3.0更新:支持 SQL Server 存储过程转换至 GaussDB!

2025年7月7日

SQLShift作为一款多元异构数据库的SQL方言转换工具,在过去两个月,陆续支持了Oracle存储过程 ➝ OceanBase/PostgreSQL的语法转换,本期让我们一起看看又有哪些新能力吧!

新特性速览

✔️ SQL Server 存储过程 ➝ GaussDB 函数重构:支持 T-SQL → PL/pgSQL 的智能转换,结构/语义全面适配。
✔️ 批量转换能力:支持一次性转换几十至上百个存储过程,自动识别语法风险!

特性详解

一、SQL Server 存储过程 ➝ GaussDB 的智能转换

SQLShift 本次升级最大的亮点,在于对 SQL Server 与 GaussDB 之间复杂语义差异的精准映射与语法重构

🔍多维度评估语法兼容性

对SQL Server存储过程引用的结构定义、系统视图、数据类型等语法元素评估其在GaussDB的兼容性,覆盖300+语法点,实现异构数据库之间的语法精准映射,部分语法类型效果如下:

  1. 结构定义:如SQL Server中 CREATE PROCEDURE… ,会重写为CREATE FUNCTION … RETURNS type LANGUAGE plpgsql,以消除GaussDB对存储过程的语法限制;
  2. 系统函数:如SQL Server中 @@spid,会重写为GaussDB中的pg_backend_pid();
  3. 系统视图&表:如SQL Server中 sys.columns ,会重写为information_schema.columns;
  4. 临时对象:如SQL Server中 SELECT … INTO #temp_table,会重写为 CREATE TEMP TABLE … AS;
  5. 数据类型:如SQL Server中 DATETIME,会重写为TIMESTAMP(3);
  6. 关键字:如SQL Server中 CREATE TABLE DemoTable(CONTENT BIT, DBTIMEZONE VARCHAR(50)…,会自动重命名 GaussDB 保留字(如 DBTIMEZONE),并针对非保留字(如 content)提供业务场景建议。
  7. 更多语法元素转换等你来体验!

🔍智能转换非标语法

SQLShift 针对 SQL Server 特有的非标准写法、平台行为差异进行语义级修复,真正做到“能识别、更能重构”,节省大量人工迁移时间,部分典型问题及修复方案:

  1. 表别名提前引用
    • SQL Server语法:UPDATE a SET col=1 FROM tableA a WHERE a.id=b.id
    • GaussDB语法:UPDATE tableA a SET col=1 FROM tableB b WHERE a.id=b.id
      • 依据:GaussDB要求UPDATE子句明确主表别名作用域
  2. 无终止符语句
    • SQL Server语法:SELECT * FROM table
    • GaussDB语法:SELECT * FROM table;(自动补全;) 更多SQL Server特有语法,等你来体验…

🔍精于 GaussDB 特性映射与语义重构

通用模型通常基于PostgreSQL语法泛化训练,无法有效识别GaussDB与PG的版本差异问题,导致高危误转换。例如GaussDB V2.0-3.x 明确不支持 uuid_generate_v4() 等PG函数,且仅支持 ON COMMIT {PRESERVE ROWS | DELETE ROWS},但通用模型因缺乏版本知识库​,仍套用PG语法规则。
SQLShift 深度感知GaussDB版本差异,深度集成华为官方语法规则,结合语义级识别与行为重构,动态解析目标集群的精确版本号,确保每一次转换都真正“可用、可控、可维护”:

  • 业务逻辑重构:NEWID() ➝ 业务唯一标识符重构​(如Java UUID.randomUUID().toString()),规避不存在等价函数的风险。
  • 临时表行为重构:ON COMMIT DROP ➝ 显式清理链​(ON COMMIT DELETE ROWS + DROP),确保生命周期合规,避免临时表堆积引发集群OOM。

二、存储过程批量转换,效率翻倍

还在手动一个个存储过程转换?SQLShift 批量处理能力,轻松应对上百个存储过程迁移:

✅ 上传脚本:支持 SQL 文件中包含多个存储过程
✅ 智能拆解:精准识别每个存储过程边界,自动分配转换任务
✅ 进度追踪:转换状态实时可视,异常智能提示
✅ 语法兼容性评估:识别语法的兼容性,并自动重构
✅ 统一转换导出:导出目标数据库兼容的存储过程文件
登录

下一站预告

📌 超400行复杂存储过程支持
📌 SQL Server ➝ OceanBase 存储过程转换


🎁限时福利

前100名点击 此处 或参考下面的方式领取30天存储过程转换额度,

1. 点击右上角的“免费试用”,注册并登录到SQLShift

登录

2. 登录进SQLShift,点击左下角的“领取额度”

  • 输入兑换码:83103ce2-9167-439c-a03c-532c911fb516
  • 成功领取额度 10 次,有效期 30 天。 登录