feat: レビュー指摘対応

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2023-10-26 13:57:45 +09:00
parent 36617a657f
commit 7fa147ff8a

View File

@ -1,11 +1,15 @@
-- A5M2で実行時に[SQL] - [スラッシュ(/)のみの行でSQLを区切る]に変えてから実行する
-- $$から始まる文字は後からREPLACEする文字を示す独自ルール
-- 当プロシージャは、同一セッション内での並列処理を実行することができない
-- 実行者の権限でストアドプロシージャを実行するために、「SQL SECURITY INVOKER」を付与している
CREATE PROCEDURE `internal02`.`crm_distribution_Call2_Key_Message_vod__c`() CREATE PROCEDURE `internal02`.`crm_distribution_Call2_Key_Message_vod__c`()
SQL SECURITY INVOKER SQL SECURITY INVOKER
BEGIN BEGIN
-- 振り分けスキーマ -- 振り分けスキーマ
DECLARE distribution_schema VARCHAR(64); DECLARE distribution_schema VARCHAR(20);
-- 振り分けカラム -- 振り分けカラム
DECLARE target_column_value VARCHAR(64); DECLARE target_column_value VARCHAR(100);
-- 振り分け先テーブルID -- 振り分け先テーブルID
DECLARE temp_table_id VARCHAR(18); DECLARE temp_table_id VARCHAR(18);
-- カーソルフェッチステータス -- カーソルフェッチステータス
@ -16,7 +20,7 @@ DECLARE table_cursor CURSOR FOR SELECT Id, medaca_parent_record_type_id FROM int
DECLARE CONTINUE HANDLER FOR NOT FOUND SET fetch_done = TRUE; DECLARE CONTINUE HANDLER FOR NOT FOUND SET fetch_done = TRUE;
-- エラー処理 -- エラー処理
DECLARE EXIT HANDLER FOR SQLEXCEPTION DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN BEGIN
GET DIAGNOSTICS CONDITION 1 GET DIAGNOSTICS CONDITION 1
@error_state = RETURNED_SQLSTATE, @error_msg = MESSAGE_TEXT; @error_state = RETURNED_SQLSTATE, @error_msg = MESSAGE_TEXT;
@ -34,45 +38,45 @@ DECLARE EXIT HANDLER FOR SQLEXCEPTION
START TRANSACTION; START TRANSACTION;
-- UPSERT STATEMENT設定 -- UPSERT STATEMENT設定
SET @upsert_statement_base = SET @upsert_statement_base =
'INSERT INTO $$distribution_schema$$.crm_Call2_Key_Message_vod__c 'INSERT INTO $$distribution_schema$$.crm_Call2_Key_Message_vod__c
(Id, IsDeleted, Name, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, (Id, IsDeleted, Name, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp,
MayEdit, IsLocked, Account_vod__c, Call2_vod__c, Reaction_vod__c, Product_vod__c, Key_Message_vod__c, MayEdit, IsLocked, Account_vod__c, Call2_vod__c, Reaction_vod__c, Product_vod__c, Key_Message_vod__c,
Mobile_ID_vod__c, Contact_vod__c, Call_Date_vod__c, User_vod__c, Category_vod__c, Vehicle_vod__c, Mobile_ID_vod__c, Contact_vod__c, Call_Date_vod__c, User_vod__c, Category_vod__c, Vehicle_vod__c,
Is_Parent_Call_vod__c, Override_Lock_vod__c, CLM_ID_vod__c, Slide_Version_vod__c, Duration_vod__c, Is_Parent_Call_vod__c, Override_Lock_vod__c, CLM_ID_vod__c, Slide_Version_vod__c, Duration_vod__c,
Presentation_ID_vod__c, Start_Time_vod__c, Attendee_Type_vod__c, Entity_Reference_Id_vod__c, Segment_vod__c, Presentation_ID_vod__c, Start_Time_vod__c, Attendee_Type_vod__c, Entity_Reference_Id_vod__c, Segment_vod__c,
Display_Order_vod__c, Clm_Presentation_Name_vod__c, Clm_Presentation_Version_vod__c, Clm_Presentation_vod__c, Display_Order_vod__c, Clm_Presentation_Name_vod__c, Clm_Presentation_Version_vod__c, Clm_Presentation_vod__c,
file_name, file_row_cnt, delete_flg, ins_user, ins_date, upd_user, upd_date) file_name, file_row_cnt, delete_flg, ins_user, ins_date, upd_user, upd_date)
SELECT SELECT
Id, IsDeleted, Name, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, Id, IsDeleted, Name, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp,
MayEdit, IsLocked, Account_vod__c, Call2_vod__c, Reaction_vod__c, Product_vod__c, Key_Message_vod__c, MayEdit, IsLocked, Account_vod__c, Call2_vod__c, Reaction_vod__c, Product_vod__c, Key_Message_vod__c,
Mobile_ID_vod__c, Contact_vod__c, Call_Date_vod__c, User_vod__c, Category_vod__c, Vehicle_vod__c, Mobile_ID_vod__c, Contact_vod__c, Call_Date_vod__c, User_vod__c, Category_vod__c, Vehicle_vod__c,
Is_Parent_Call_vod__c, Override_Lock_vod__c, CLM_ID_vod__c, Slide_Version_vod__c, Duration_vod__c, Is_Parent_Call_vod__c, Override_Lock_vod__c, CLM_ID_vod__c, Slide_Version_vod__c, Duration_vod__c,
Presentation_ID_vod__c, Start_Time_vod__c, Attendee_Type_vod__c, Entity_Reference_Id_vod__c, Segment_vod__c, Presentation_ID_vod__c, Start_Time_vod__c, Attendee_Type_vod__c, Entity_Reference_Id_vod__c, Segment_vod__c,
Display_Order_vod__c, Clm_Presentation_Name_vod__c, Clm_Presentation_Version_vod__c, Clm_Presentation_vod__c, Display_Order_vod__c, Clm_Presentation_Name_vod__c, Clm_Presentation_Version_vod__c, Clm_Presentation_vod__c,
file_name, file_row_cnt, delete_flg, ins_user, ins_date, upd_user, upd_date file_name, file_row_cnt, delete_flg, ins_user, ins_date, upd_user, upd_date
FROM FROM
internal02.crm_Call2_Key_Message_vod__c AS internaltb internal02.crm_Call2_Key_Message_vod__c AS internaltb
WHERE WHERE
internaltb.Id = ? internaltb.Id = ?
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
IsDeleted = internaltb.IsDeleted, Name = internaltb.Name, CreatedDate = internaltb.CreatedDate, IsDeleted = internaltb.IsDeleted, Name = internaltb.Name, CreatedDate = internaltb.CreatedDate,
CreatedById = internaltb.CreatedById, LastModifiedDate = internaltb.LastModifiedDate, CreatedById = internaltb.CreatedById, LastModifiedDate = internaltb.LastModifiedDate,
LastModifiedById = internaltb.LastModifiedById, SystemModstamp = internaltb.SystemModstamp, LastModifiedById = internaltb.LastModifiedById, SystemModstamp = internaltb.SystemModstamp,
MayEdit = internaltb.MayEdit, IsLocked = internaltb.IsLocked, Account_vod__c = internaltb.Account_vod__c, MayEdit = internaltb.MayEdit, IsLocked = internaltb.IsLocked, Account_vod__c = internaltb.Account_vod__c,
Call2_vod__c = internaltb.Call2_vod__c, Reaction_vod__c = internaltb.Reaction_vod__c, Call2_vod__c = internaltb.Call2_vod__c, Reaction_vod__c = internaltb.Reaction_vod__c,
Product_vod__c = internaltb.Product_vod__c, Key_Message_vod__c = internaltb.Key_Message_vod__c, Product_vod__c = internaltb.Product_vod__c, Key_Message_vod__c = internaltb.Key_Message_vod__c,
Mobile_ID_vod__c = internaltb.Mobile_ID_vod__c, Contact_vod__c = internaltb.Contact_vod__c, Mobile_ID_vod__c = internaltb.Mobile_ID_vod__c, Contact_vod__c = internaltb.Contact_vod__c,
Call_Date_vod__c = internaltb.Call_Date_vod__c, User_vod__c = internaltb.User_vod__c, Call_Date_vod__c = internaltb.Call_Date_vod__c, User_vod__c = internaltb.User_vod__c,
Category_vod__c = internaltb.Category_vod__c, Vehicle_vod__c = internaltb.Vehicle_vod__c, Category_vod__c = internaltb.Category_vod__c, Vehicle_vod__c = internaltb.Vehicle_vod__c,
Is_Parent_Call_vod__c = internaltb.Is_Parent_Call_vod__c, Override_Lock_vod__c = internaltb.Override_Lock_vod__c, Is_Parent_Call_vod__c = internaltb.Is_Parent_Call_vod__c, Override_Lock_vod__c = internaltb.Override_Lock_vod__c,
CLM_ID_vod__c = internaltb.CLM_ID_vod__c, Slide_Version_vod__c = internaltb.Slide_Version_vod__c, CLM_ID_vod__c = internaltb.CLM_ID_vod__c, Slide_Version_vod__c = internaltb.Slide_Version_vod__c,
Duration_vod__c = internaltb.Duration_vod__c, Presentation_ID_vod__c = internaltb.Presentation_ID_vod__c, Duration_vod__c = internaltb.Duration_vod__c, Presentation_ID_vod__c = internaltb.Presentation_ID_vod__c,
Start_Time_vod__c = internaltb.Start_Time_vod__c, Attendee_Type_vod__c = internaltb.Attendee_Type_vod__c, Start_Time_vod__c = internaltb.Start_Time_vod__c, Attendee_Type_vod__c = internaltb.Attendee_Type_vod__c,
Entity_Reference_Id_vod__c = internaltb.Entity_Reference_Id_vod__c, Segment_vod__c = internaltb.Segment_vod__c, Entity_Reference_Id_vod__c = internaltb.Entity_Reference_Id_vod__c, Segment_vod__c = internaltb.Segment_vod__c,
Display_Order_vod__c = internaltb.Display_Order_vod__c, Clm_Presentation_Name_vod__c = internaltb.Clm_Presentation_Name_vod__c, Display_Order_vod__c = internaltb.Display_Order_vod__c, Clm_Presentation_Name_vod__c = internaltb.Clm_Presentation_Name_vod__c,
Clm_Presentation_Version_vod__c = internaltb.Clm_Presentation_Version_vod__c, Clm_Presentation_Version_vod__c = internaltb.Clm_Presentation_Version_vod__c,
Clm_Presentation_vod__c = internaltb.Clm_Presentation_vod__c, file_name = internaltb.file_name, Clm_Presentation_vod__c = internaltb.Clm_Presentation_vod__c, file_name = internaltb.file_name,
file_row_cnt = internaltb.file_row_cnt, upd_user = CURRENT_USER(), upd_date = CURRENT_TIMESTAMP();'; file_row_cnt = internaltb.file_row_cnt, upd_user = CURRENT_USER(), upd_date = CURRENT_TIMESTAMP();';
OPEN table_cursor; OPEN table_cursor;
@ -87,9 +91,9 @@ TableCursorLoop: LOOP
LEAVE TableCursorLoop; LEAVE TableCursorLoop;
END IF; END IF;
SET @distribution_schema = get_distribution_to_schema('crm_Call2_Key_Message_vod__c', 'medaca_parent_record_type_id', target_column_value); SET @distribution_schema = internal02.get_distribution_to_schema('crm_Call2_Key_Message_vod__c', 'medaca_parent_record_type_id', target_column_value);
SET @temp_table_id = temp_table_id; SET @temp_table_id = temp_table_id;
SET @upsert_statement = REPLACE(@upsert_statement_base, "$$distribution_schema$$", @distribution_schema); SET @upsert_statement = REPLACE(@upsert_statement_base, "$$distribution_schema$$", @distribution_schema);
-- UPSERT実行 -- UPSERT実行