none · doc_based · 目标不保留原生层次句时改 WITH RECURSIVE,并先保留 Oracle 执行序:FROM/WHERE 中的 join 先形成候选关系,START WITH 与 CONNECT BY/PRIOR 再展开层次,剩余 WHERE 最后逐行过滤,不能提前裁掉不满足 WHERE 的父行及其仍应返回的子孙。锚点/递归成员生成 depth/path/visited,visited 必须使用稳定行身份与路径实例,不能用可重复业务键。NOCYCLE 在下一子行已是祖先时停止该边;CONNECT_BY_ISCYCLE 标记“当前行存在一个祖先子行”,不是标记或输出重复子行
none · doc_based · 默认改 numeric(38);仅在全量值域与增长上界证明后选 bigint/integer/smallint
none · doc_based · 需结合精确环境 PoC。
none · doc_based · 树深度在递归 CTE 锚点置 depth=1、递归成员置 depth+1;纯行生成须区分根行契约:无 START WITH 且无其他根过滤时,Oracle 在 n<=0/NULL 仍保留 1 个根行,改为无条件产生 1 的递归 CTE 锚点、仅在下一层满足 LEVEL<=n 时递归,或给 generate_series 显式补该分支;有 START WITH/根过滤时才允许根行被过滤为零行
none · doc_based · 先用目标保证的物化屏障/临时结果/过程变量求 expr 一次,普通 CTE 不保证;按首个 search(数值首对按 Oracle 数值优先级)统一比较类型,再改有序 searched CASE/双 NULL,并把 result/default 转成首结果有效类型
none · doc_based · 给源行和非空值按同一分区/稳定顺序编号,在每个 frame 内定位第一条非空行并回连原行;目标原生支持时才保留 IGNORE NULLS
none · doc_based · 需结合精确环境 PoC。
none · doc_based · 需结合精确环境 PoC。
none · doc_based · 需结合精确环境 PoC。
none · doc_based · 目标原生 INTERVAL 时逐项保留表达式、最高显式 RANGE 分区上界定义的过渡点和子分区模板;否则移除自动扩展,按该过渡点至业务 horizon 预建等价 RANGE 分区,并部署幂等滚动作业在写入前继续预建,同时替换依赖自动分区名的运维 SQL
none · doc_based · 需结合精确环境 PoC。
none · doc_based · 聚合形态先在原分组内按 KEEP 的 ORDER BY 计算 DENSE_RANK,FIRST 取 rank=1、LAST 反向排名取 rank=1,再对全部并列行执行原 MIN/MAX/SUM/AVG/COUNT/VARIANCE/STDDEV;analytic OVER 形态在窗口分区内排名后用窗口条件聚合,保留每个输入行,禁止外层 GROUP BY 改变行数
none · doc_based · 先给每个源行位置 row_pos(分区内稳定完整排序),另保留非空行的 row_pos;对每个当前行从严格早于 row_pos 的非空行倒序取第 offset 条,不足时返回原 default
none · doc_based · 给源行和非空值按同一分区/稳定顺序编号,在原 frame 内定位最后一条非空行并回连;不得只删 IGNORE NULLS 或把默认 frame 改成整分区
none · doc_based · 先给每个源行位置 row_pos(分区内稳定完整排序),另保留非空行的 row_pos;对每个当前行从严格晚于 row_pos 的非空行正序取第 offset 条,不足时返回原 default
none · doc_based · 将目标改键保留基表,按投影别名回写列;只把目标视图过滤条件并入 ON 以复刻可见目标行集,原 action 条件仍留原 WHEN;原视图有 WITH CHECK OPTION 时在 action/目标约束复刻写后可见性并保持失败,无该子句时不额外限制;join/聚合/不可更新或 INSTEAD OF 视图先按源端失败/触发器契约处理
none · doc_based · 需结合精确环境 PoC。
none · doc_based · PostgreSQL: BLOB -> bytea;Oracle 兼容目标按矩阵保留 BLOB
none · doc_based · PostgreSQL: CLOB -> text;Oracle 兼容目标按矩阵保留 CLOB
none · doc_based · PostgreSQL: VARCHAR2 -> varchar;Oracle 兼容目标保留 VARCHAR2
none · doc_based · PostgreSQL: NVARCHAR/STRING -> varchar;Oracle 兼容目标规范化为 NVARCHAR2/VARCHAR2
none · doc_based · a.id = b.id(+) 保留 a,改 a LEFT JOIN b ON (...);marker 在左侧时按保留侧改 RIGHT JOIN 或交换表序后改 LEFT JOIN。同一可空表的全部 (+) 谓词(含 b.flag(+) = 常量)必须整体移入 ON, 留在 WHERE 会消掉 NULL 扩展行。含 OR/IN、同一表混合左右 marker、跨多表 marker 不一致或 NEW/OLD 伪表时只给人工方案,不自动重排连接图。
none · doc_based · 需结合精确环境 PoC。
none · doc_based · 原生 PostgreSQL 改 format('%I/%L', ...) 与严格白名单;orafce 候选显式调用 dbms_assert 并核对 ENQUOTE_NAME 参数方向