ORACLE 外连接查询 FOR UPDATE

迁移特征 for_update_outer_join 的规则事实、精确目标横向结论与可执行验证路径。产品家族相似性不作为精确版本结论的依据。

pendingcriticalhighora.syntax.for_update_outer_join

场景说明

该场景属于“查询与 DML 语法”,适用于 sql、plsql、mybatis。权威状态:待核验,不进入权威统计。

正向识别示例

以下均来自规则库中 should_hit=true 的合成公开示例,不是客户代码。

SELECT o.id,c.name FROM orders o LEFT JOIN customer c ON c.id=o.customer_id FOR UPDATE
SELECT a.id,b.v FROM a FULL OUTER JOIN b ON a.id=b.id FOR UPDATE OF a.id
BEGIN IF p_lock THEN SELECT o.id INTO v_id FROM orders o LEFT JOIN customer c ON c.id=o.customer_id FOR UPDATE; END IF; END;

21 个精确目标版本 / 模式

目标支持度证据等级公开边界深入核对
GaussDB 505(ORA 模式)nonedoc_based未登记额外公开说明,按来源与验证步骤复核。改造点
展开 20 个 unknown / undeclared 结论
达梦 DM8unknownunverified当前事实源不足,不推断兼容。
GBase 8sunknownunverified当前事实源不足,不推断兼容。
GoldenDB V6unknownunverified当前事实源不足,不推断兼容。
瀚高 HGDB 4.5unknownunverified当前事实源不足,不推断兼容。
人大金仓 KingbaseES V8unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 MySQL 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.3.5 MySQL 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.3.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
openGauss 5.0 A 模式undeclaredunverified当前事实源不足,不推断兼容。
openGauss 6.0 A 模式undeclaredunverified当前事实源不足,不推断兼容。
openGauss 6.0 B 模式(Dolphin)unknownunverified当前事实源不足,不推断兼容。
磐维 PanWeiDB 2.0unknownunverified当前事实源不足,不推断兼容。
磐维 PanWeiDB 3.0 A 模式unknownunverified当前事实源不足,不推断兼容。
PolarDB(Oracle 兼容)2.0unknownunverified当前事实源不足,不推断兼容。
PostgreSQL 16 + orafce 4.16undeclaredunverified当前事实源不足,不推断兼容。
PostgreSQL 16undeclaredunverified当前事实源不足,不推断兼容。
神通数据库 7unknownunverified当前事实源不足,不推断兼容。
TDSQL Boundlessunknownunverified当前事实源不足,不推断兼容。
TiDB 8.5unknownunverified当前事实源不足,不推断兼容。

改造与验证路径

推荐方向

case_by_case · 先取需锁基础表主键,再对基础表单独 FOR UPDATE

库侧

拆锁定查询与展示连接,明确锁表和行集合 · 风险 review

应用侧

事务服务按主键批量锁定后再查询详情 · 风险 review

验收步骤

空侧行、并发更新、锁等待范围与死锁路径回归

公开来源