From c70948c34a92fa49af141c8ae621a4df5eccfb76 Mon Sep 17 00:00:00 2001 From: dhb52 Date: Mon, 18 Mar 2024 23:44:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20UPDATE=20select=E5=AD=90=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=9C=80=E8=A6=81MERGE=20INTO=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/oracle/mapper/JobMapper.xml | 22 ++++++++++-------- .../oracle/mapper/RetryTaskMapper.xml | 23 +++++++++++-------- .../oracle/mapper/WorkflowMapper.xml | 23 +++++++++++-------- 3 files changed, 38 insertions(+), 30 deletions(-) diff --git a/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/JobMapper.xml b/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/JobMapper.xml index 95fbc508..15df4528 100644 --- a/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/JobMapper.xml +++ b/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/JobMapper.xml @@ -27,16 +27,18 @@ - UPDATE job AS rt - SET rt.next_trigger_at = tt.next_trigger_at - FROM ( - - select - #{item.nextTriggerAt} as next_trigger_at, - #{item.id} as id - - ) AS tt - WHERE rt.id = tt.id + MERGE INTO job dest + USING ( + + SELECT + #{item.nextTriggerAt} AS next_trigger_at, + #{item.id} AS id + FROM DUAL + + ) src + ON (dest.id = src.id) + WHEN MATCHED THEN + UPDATE SET dest.next_trigger_at = src.next_trigger_at diff --git a/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/RetryTaskMapper.xml b/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/RetryTaskMapper.xml index b193e345..7e2089e0 100644 --- a/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/RetryTaskMapper.xml +++ b/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/RetryTaskMapper.xml @@ -31,16 +31,19 @@ (#{item.namespaceId}, #{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId}, #{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs}, #{item.nextTriggerAt}, #{item.taskType}, #{item.retryStatus}, #{item.createDt}) + - UPDATE retry_task_${partition} AS rt - SET next_trigger_at = tt.next_trigger_at - FROM ( - - select - #{item.nextTriggerAt} as next_trigger_at, - #{item.id} as id - - ) AS tt - WHERE rt.id = tt.id + MERGE INTO retry_task_${partition} dest + USING ( + + SELECT + #{item.nextTriggerAt} AS next_trigger_at, + #{item.id} AS id + FROM DUAL + + ) src + ON (dest.id = src.id) + WHEN MATCHED THEN + UPDATE SET dest.next_trigger_at = src.next_trigger_at diff --git a/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/WorkflowMapper.xml b/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/WorkflowMapper.xml index 245679ac..b7d6ba46 100644 --- a/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/WorkflowMapper.xml +++ b/easy-retry-datasource/easy-retry-oracle-datasource/src/main/resources/oracle/mapper/WorkflowMapper.xml @@ -15,17 +15,20 @@ + - UPDATE workflow AS rt - SET next_trigger_at = tt.next_trigger_at - FROM ( - - select - #{item.nextTriggerAt} as next_trigger_at, - #{item.id} as id - - ) AS tt - WHERE rt.id = tt.id + MERGE INTO workflow dest + USING ( + + SELECT + #{item.nextTriggerAt} AS next_trigger_at, + #{item.id} AS id + FROM DUAL + + ) src + ON (dest.id = src.id) + WHEN MATCHED THEN + UPDATE SET dest.next_trigger_at = src.next_trigger_at