From 7447d54323f7fb39cd45203c6647ce565b5b31f0 Mon Sep 17 00:00:00 2001 From: y-ono-r <95060536+y-ono-r@users.noreply.github.com> Date: Tue, 2 Aug 2022 16:19:32 +0900 Subject: [PATCH] =?UTF-8?q?refactor:EXISTS=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rds_mysql/stored_procedure/crm_data_sync.sql | 21 ++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/rds_mysql/stored_procedure/crm_data_sync.sql b/rds_mysql/stored_procedure/crm_data_sync.sql index c039a18a..01d27b9a 100644 --- a/rds_mysql/stored_procedure/crm_data_sync.sql +++ b/rds_mysql/stored_procedure/crm_data_sync.sql @@ -20,16 +20,21 @@ BEGIN -- ①-1 Salesforce側で物理削除されたデータを検出し更新する SET @update_end_datetime = ' UPDATE $$target_table$$ tt - LEFT JOIN $$target_table_all$$ tta - ON tt.id = tta.id - AND tt.$$target_column$$ = tta.$$target_column$$ SET - tt.end_datetime = CURRENT_TIMESTAMP() - , tt.upd_user = CURRENT_USER() - , tt.upd_date = CURRENT_TIMESTAMP() + tt.end_datetime = CURRENT_TIMESTAMP () + , tt.upd_user = CURRENT_USER () + , tt.upd_date = CURRENT_TIMESTAMP () WHERE - tta.id IS NULL - AND tt.end_datetime = "9999-12-31 00:00:00" + tt.end_datetime = "9999-12-31 00:00:00" + AND NOT EXISTS ( + SELECT + * + FROM + $$target_table_all$$ tta + WHERE + tt.id = tta.id + AND tt.$$target_column$$ = tta.$$target_column$$ + ) '; SET @update_end_datetime = REPLACE(@update_end_datetime, "$$target_table$$", target_table); SET @update_end_datetime = REPLACE(@update_end_datetime, "$$target_table_all$$", target_table_all);