ORACLE 列 DEFAULT 使用序列伪列 迁移 openGauss 6.0 B 模式(Dolphin) 适配说明

迁衡基于规则 ora.column.default_sequence 分析 ORACLE 列 DEFAULT 使用序列伪列 到 openGauss 6.0 B 模式(Dolphin) 的兼容性、改写路径与验证建议。

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度unknown
严重度major
置信度medium
依据规则ora.column.default_sequence

迁移建议

NEXTVAL:改目标 DEFAULT nextval 或等价 identity/触发器取新值;CURRVAL:改目标 currval default,若不支持则移除默认并由同会话显式传入已生成的键,禁止改成新取号

判定说明

该目标库能力矩阵尚未建立此特征条目,支持情况待评估,建议 PoC 复核

库侧 / 应用侧路径

库侧改造

可行:NEXTVAL 可改 default/identity;CURRVAL 仅在目标支持同会话 currval default 时保留

应用侧改造

可行:目标不支持 CURRVAL 默认时,由同一连接先取键并显式绑定到依赖列

推荐路线:case_by_case。验证建议:分别覆盖 NEXTVAL 与 CURRVAL 的省略列、显式 NULL、批量插入和跨 schema 权限;确认 CURRVAL 路径不额外递增

规则样例

CREATE TABLE t (id NUMBER DEFAULT seq_t.NEXTVAL PRIMARY KEY, name VARCHAR2(30))
ALTER TABLE t MODIFY id DEFAULT app.seq_order.CURRVAL

参考来源

相关改造点

技术支持

微信交流群 微信二维码

微信:prejudice_me