Merge pull request #303 feature-feature-NEWDWH2021-1298-fix into develop-4-crm-medical
This commit is contained in:
commit
f4bcfb9c8c
@ -1,6 +1,6 @@
|
|||||||
-- A5M2で実行時に[SQL] - [スラッシュ(/)のみの行でSQLを区切る]に変えてから実行する
|
-- A5M2で実行時に[SQL] - [スラッシュ(/)のみの行でSQLを区切る]に変えてから実行する
|
||||||
-- $$から始まる文字は後からREPLACEする文字を示す独自ルール
|
-- $$から始まる文字は後からREPLACEする文字を示す独自ルール
|
||||||
CREATE FUNCTION internal02.`get_distribution_to_schema`(target_table VARCHAR(64), target_column VARCHAR(64), target_column_value VARCHAR(64))
|
CREATE FUNCTION internal02.`get_distribution_to_schema`(target_table VARCHAR(64), target_column VARCHAR(64), target_column_value VARCHAR(100))
|
||||||
RETURNS VARCHAR(20)
|
RETURNS VARCHAR(20)
|
||||||
DETERMINISTIC
|
DETERMINISTIC
|
||||||
|
|
||||||
@ -10,10 +10,10 @@ BEGIN
|
|||||||
-- other振分先蓄積スキーマ
|
-- other振分先蓄積スキーマ
|
||||||
DECLARE distribution_schema_other VARCHAR(20) DEFAULT NULL;
|
DECLARE distribution_schema_other VARCHAR(20) DEFAULT NULL;
|
||||||
-- 振分判断項目値
|
-- 振分判断項目値
|
||||||
DECLARE value_from_column_value VARCHAR(64) DEFAULT NULL;
|
DECLARE value_from_column_value VARCHAR(100) DEFAULT NULL;
|
||||||
-- 振分先蓄積スキーマ
|
-- 振分先蓄積スキーマ
|
||||||
DECLARE value_to_schema VARCHAR(20) DEFAULT NULL;
|
DECLARE value_to_schema VARCHAR(20) DEFAULT NULL;
|
||||||
|
|
||||||
-- カーソルがデータセットの最後に達したか判定するための変数
|
-- カーソルがデータセットの最後に達したか判定するための変数
|
||||||
DECLARE done INT DEFAULT FALSE;
|
DECLARE done INT DEFAULT FALSE;
|
||||||
|
|
||||||
@ -23,15 +23,15 @@ BEGIN
|
|||||||
FROM internal02.`crm_data_distribution_settings`
|
FROM internal02.`crm_data_distribution_settings`
|
||||||
WHERE `table_id` = target_table
|
WHERE `table_id` = target_table
|
||||||
AND `from_column_id` = target_column;
|
AND `from_column_id` = target_column;
|
||||||
|
|
||||||
-- カーソルがデータセットをフェッチしきった時の動作を制御
|
-- カーソルがデータセットをフェッチしきった時の動作を制御
|
||||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||||
|
|
||||||
OPEN cursor_crm_data_distribution_settings;
|
OPEN cursor_crm_data_distribution_settings;
|
||||||
|
|
||||||
read_loop: LOOP
|
read_loop: LOOP
|
||||||
FETCH cursor_crm_data_distribution_settings INTO value_from_column_value, value_to_schema;
|
FETCH cursor_crm_data_distribution_settings INTO value_from_column_value, value_to_schema;
|
||||||
|
|
||||||
-- カーソルの読み出しが完了していればループを抜ける
|
-- カーソルの読み出しが完了していればループを抜ける
|
||||||
IF done THEN
|
IF done THEN
|
||||||
LEAVE read_loop;
|
LEAVE read_loop;
|
||||||
@ -40,7 +40,7 @@ BEGIN
|
|||||||
IF value_from_column_value = target_column_value THEN
|
IF value_from_column_value = target_column_value THEN
|
||||||
SET ret = value_to_schema;
|
SET ret = value_to_schema;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
-- カーソルから読み出した行が'other'かを判断
|
-- カーソルから読み出した行が'other'かを判断
|
||||||
IF value_from_column_value = 'other' THEN
|
IF value_from_column_value = 'other' THEN
|
||||||
SET distribution_schema_other = value_to_schema;
|
SET distribution_schema_other = value_to_schema;
|
||||||
@ -48,7 +48,7 @@ BEGIN
|
|||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
CLOSE cursor_crm_data_distribution_settings;
|
CLOSE cursor_crm_data_distribution_settings;
|
||||||
|
|
||||||
-- 例外処理
|
-- 例外処理
|
||||||
IF distribution_schema_other IS NULL THEN
|
IF distribution_schema_other IS NULL THEN
|
||||||
SET @error_msg = 'データ振分設定テーブルにotherの設定がされていません。テーブルID: $$target_table$$, 振分判断項目ID: $$target_column$$';
|
SET @error_msg = 'データ振分設定テーブルにotherの設定がされていません。テーブルID: $$target_table$$, 振分判断項目ID: $$target_column$$';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user