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