partial · artifact_verified · 目标不保留原生层次句时改 WITH RECURSIVE,并先保留 Oracle 执行序:FROM/WHERE 中的 join 先形成候选关系,START WITH 与 CONNECT BY/PRIOR 再展开层次,剩余 WHERE 最后逐行过滤,不能提前裁掉不满足 WHERE 的父行及其仍应返回的子孙。锚点/递归成员生成 depth/path/visited,visited 必须使用稳定行身份与路径实例,不能用可重复业务键。NOCYCLE 在下一子行已是祖先时停止该边;CONNECT_BY_ISCYCLE 标记“当前行存在一个祖先子行”,不是标记或输出重复子行
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 树深度在递归 CTE 锚点置 depth=1、递归成员置 depth+1;纯行生成须区分根行契约:无 START WITH 且无其他根过滤时,Oracle 在 n<=0/NULL 仍保留 1 个根行,改为无条件产生 1 的递归 CTE 锚点、仅在下一层满足 LEVEL<=n 时递归,或给 generate_series 显式补该分支;有 START WITH/根过滤时才允许根行被过滤为零行
partial · artifact_verified · 先用目标保证的物化屏障/临时结果/过程变量求 expr 一次,普通 CTE 不保证;按首个 search(数值首对按 Oracle 数值优先级)统一比较类型,再改有序 searched CASE/双 NULL,并把 result/default 转成首结果有效类型
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 聚合形态先在原分组内按 KEEP 的 ORDER BY 计算 DENSE_RANK,FIRST 取 rank=1、LAST 反向排名取 rank=1,再对全部并列行执行原 MIN/MAX/SUM/AVG/COUNT/VARIANCE/STDDEV;analytic OVER 形态在窗口分区内排名后用窗口条件聚合,保留每个输入行,禁止外层 GROUP BY 改变行数
partial · artifact_verified · 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 伪表时只给人工方案,不自动重排连接图。
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 锚点用 separator||COALESCE(expr,'') 生成 path,递归成员同样按 Oracle NULL 拼接语义追加;迁移前预检节点值含 separator 并复现 ORA-30004,只有业务批准后才可转义并记录新契约
partial · artifact_verified · USERENV 的 SESSION_USER -> session_user、CURRENT_USER -> current_user、 CURRENT_SCHEMA -> current_schema、DB_NAME/DB_UNIQUE_NAME -> current_database(); IP_ADDRESS 可在连接拓扑明确时映射 inet_client_addr()。 OS_USER、CLIENT_IDENTIFIER、AUTHENTICATED_IDENTITY、PROXY_USER、BG_JOB_ID、HOST/SERVER_HOST 与 MODULE 只能做近似映射,不能把 OS_USER/CLIENT_IDENTIFIER 当 session_user,或把 BG_JOB_ID 当 pg_backend_pid() 冒充等价。自定义 namespace 必须追踪 DBMS_SESSION.SET_CONTEXT 写入链并重设计。
partial · artifact_verified · 数值映射数值模型;DATE/TIMESTAMP 映射日期模型;TIMESTAMP WITH LOCAL TIME ZONE 先按源 session time zone 展示;INTERVAL 单参数保留 literal 数字表示、带格式时逐元素重建;同步映射 TZR/TZD、FF 小数秒和 NLS
partial · artifact_verified · 字符单参数读取 NLS_DATE_FORMAT;DATE/datetime 参数复现时显式 date→char→DATE 往返,移除 TO_DATE 属获批纠错;无时间元素用 date parser,含 HH/MI/SS 用 timestamp parser 后 cast 到 Oracle-DATE 映射以返回 DATE;映射 RR/J/IW/FX;DEFAULT 只捕获 char 转换,default 自身同格式失败继续报错,表达式求值错误不得吞掉
partial · artifact_verified · 日期 DD/MM/IW 等映射目标截断;W 以月首同星期、WW 以年首同星期、D 按 NLS_TERRITORY 周首重建,最后 cast 到目标 Oracle-DATE 映射以返回 DATE;数值按 scale 截断
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 先读取 NLS_CALENDAR;GREGORIAN 下计算目标月份,源为月末或日号越界则取目标月末,否则保留日号/秒;最后 cast 到目标 Oracle-DATE 映射以返回 DATE;非公历走专用日历实现
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 先读取 NLS_CALENDAR;GREGORIAN 下取月初+1 月-1 日并加回时分秒,再 cast 到目标 Oracle-DATE 映射以返回 DATE;非公历走专用日历实现
partial · artifact_verified · 需结合精确环境 PoC。
partial · artifact_verified · 按源 NLS_DATE_LANGUAGE 读取最短有效星期缩写并忽略其尾随字符,规范为 0..6;计算 delta=((target-current+6) mod 7)+1,加回到秒时间后 cast 到目标 Oracle-DATE 映射以返回 DATE
partial · artifact_verified · 按父路径实例(稳定父行身份+递归路径,而非可重复 parent_key)计算 sibling_rank,原排序表达式后追加唯一键;递归追加到 order_path 并最终排序
partial · artifact_verified · 单参数清洗后显式 cast;格式串逐 token 处理 L/C/U/$ 货币、S/MI/PR 符号、V 缩放、EEEE 科学计数及 NLS;DEFAULT ON CONVERSION ERROR 只捕获 char 转数值错误,default 用同 fmt/NLS 再转且 default 自身失败继续报错,表达式求值错误不得吞掉
partial · artifact_verified · 需结合精确环境 PoC。