database compatibility assessment

ORACLE WHERE CURRENT OF 游标定位 DML 迁移 opengauss 5.0 A 模式 怎么改

迁衡基于规则 ora.syntax.where_current_of 分析 ORACLE WHERE CURRENT OF 游标定位 DML 到 opengauss 5.0 A 模式 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:gaussdb 505 · 游标定位 DML 改主键/唯一键定位
支持度none
严重度major
置信度high
依据规则ora.syntax.where_current_of

怎么改

需按命中位置逐条评估改写

判定说明

游标定位 DML 改主键/唯一键定位

库侧 / 应用侧路径

库侧改造

可行:游标 SELECT 同步取主键,DML 改 WHERE pk = 当前行 pk

应用侧改造

可行:批处理循环改应用层主键定位更新/删除

推荐路线:db_side。验证建议:游标结果集有重复业务键时必须验证定位行唯一性。

规则样例

UPDATE emp SET sal = sal + 1 WHERE CURRENT OF c_emp
DELETE FROM emp WHERE CURRENT OF c1
UPDATE emp SET sal = sal + 1 WHERE empno = :id

参考来源