feat: 例外処理修正の横展開
This commit is contained in:
parent
3d7512b4df
commit
3bf951c632
@ -2,69 +2,75 @@
|
|||||||
CREATE PROCEDURE src05.inst_merge_t_create()
|
CREATE PROCEDURE src05.inst_merge_t_create()
|
||||||
SQL SECURITY INVOKER
|
SQL SECURITY INVOKER
|
||||||
BEGIN
|
BEGIN
|
||||||
-- スキーマ名
|
-- スキーマ名
|
||||||
DECLARE schema_name VARCHAR(50) DEFAULT (SELECT DATABASE());
|
DECLARE schema_name VARCHAR(50) DEFAULT (SELECT DATABASE());
|
||||||
-- プロシージャ名
|
-- プロシージャ名
|
||||||
DECLARE procedure_name VARCHAR(100) DEFAULT 'inst_merge_t_create';
|
DECLARE procedure_name VARCHAR(100) DEFAULT 'inst_merge_t_create';
|
||||||
-- プロシージャの引数
|
-- プロシージャの引数
|
||||||
DECLARE procedure_args JSON DEFAULT JSON_OBJECT();
|
DECLARE procedure_args JSON DEFAULT JSON_OBJECT();
|
||||||
|
|
||||||
-- 例外処理
|
-- 例外処理
|
||||||
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;
|
||||||
call medaca_common.put_error_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_error_log(schema_name, procedure_name, procedure_args,
|
||||||
'inst_merge_t_createでエラーが発生', @error_state, @error_msg);
|
'inst_merge_t_createでエラーが発生', @error_state, @error_msg);
|
||||||
SIGNAL SQLSTATE '45000'
|
SET @error_msg = (
|
||||||
SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg;
|
CASE
|
||||||
END;
|
WHEN LENGTH(@error_msg) > 128 THEN CONCAT(SUBSTRING(@error_msg, 1, 125), '...')
|
||||||
|
ELSE @error_msg
|
||||||
|
END
|
||||||
|
);
|
||||||
|
SIGNAL SQLSTATE '45000'
|
||||||
|
SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg;
|
||||||
|
END;
|
||||||
|
|
||||||
SET @error_state = NULL, @error_msg = NULL;
|
SET @error_state = NULL, @error_msg = NULL;
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成① 開始'
|
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成① 開始'
|
||||||
);
|
);
|
||||||
|
|
||||||
TRUNCATE TABLE internal05.inst_merge_t;
|
TRUNCATE TABLE internal05.inst_merge_t;
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成① 終了'
|
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成① 終了'
|
||||||
);
|
);
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成② 開始'
|
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成② 開始'
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
internal05.inst_merge_t (
|
internal05.inst_merge_t (
|
||||||
dcf_dsf_inst_cd,
|
dcf_dsf_inst_cd,
|
||||||
dup_opp_cd,
|
dup_opp_cd,
|
||||||
form_inst_name_kanji,
|
form_inst_name_kanji,
|
||||||
form_inst_name_kana,
|
form_inst_name_kana,
|
||||||
inst_addr,
|
inst_addr,
|
||||||
prefc_cd
|
prefc_cd
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
dim.dcf_inst_cd,
|
dim.dcf_inst_cd,
|
||||||
dim.dcf_inst_cd_new,
|
dim.dcf_inst_cd_new,
|
||||||
ci.form_inst_name_kanji,
|
ci.form_inst_name_kanji,
|
||||||
ci.form_inst_name_kana,
|
ci.form_inst_name_kana,
|
||||||
ci.inst_addr,
|
ci.inst_addr,
|
||||||
ci.prefc_cd
|
ci.prefc_cd
|
||||||
FROM
|
FROM
|
||||||
src05.dcf_inst_merge dim
|
src05.dcf_inst_merge AS dim
|
||||||
LEFT OUTER JOIN src05.com_inst ci
|
LEFT OUTER JOIN src05.com_inst AS ci
|
||||||
ON dim.dcf_inst_cd_new = ci.dcf_dsf_inst_cd
|
ON dim.dcf_inst_cd_new = ci.dcf_dsf_inst_cd
|
||||||
AND ci.delete_flg = '0'
|
AND ci.delete_flg = '0'
|
||||||
WHERE
|
WHERE
|
||||||
dim.muko_flg = '0'
|
dim.muko_flg = '0'
|
||||||
AND dim.dcf_inst_cd_new IS NOT NULL
|
AND dim.dcf_inst_cd_new IS NOT NULL
|
||||||
AND dim.enabled_flg = 'Y'
|
AND dim.enabled_flg = 'Y'
|
||||||
AND src05.to_date_yyyymm01(dim.tekiyo_month) <= src05.get_syor_date();
|
AND src05.to_date_yyyymm01(dim.tekiyo_month) <= src05.get_syor_date();
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成② 終了'
|
'アルトマーク施設統合マスタ(洗替処理一時テーブル)作成② 終了'
|
||||||
);
|
);
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|||||||
@ -2,75 +2,81 @@
|
|||||||
CREATE PROCEDURE src05.v_inst_merge_t_create()
|
CREATE PROCEDURE src05.v_inst_merge_t_create()
|
||||||
SQL SECURITY INVOKER
|
SQL SECURITY INVOKER
|
||||||
BEGIN
|
BEGIN
|
||||||
-- スキーマ名
|
-- スキーマ名
|
||||||
DECLARE schema_name VARCHAR(50) DEFAULT (SELECT DATABASE());
|
DECLARE schema_name VARCHAR(50) DEFAULT (SELECT DATABASE());
|
||||||
-- プロシージャ名
|
-- プロシージャ名
|
||||||
DECLARE procedure_name VARCHAR(100) DEFAULT 'v_inst_merge_t_create';
|
DECLARE procedure_name VARCHAR(100) DEFAULT 'v_inst_merge_t_create';
|
||||||
-- プロシージャの引数
|
-- プロシージャの引数
|
||||||
DECLARE procedure_args JSON DEFAULT JSON_OBJECT();
|
DECLARE procedure_args JSON DEFAULT JSON_OBJECT();
|
||||||
|
|
||||||
-- 例外処理
|
-- 例外処理
|
||||||
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;
|
||||||
call medaca_common.put_error_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_error_log(schema_name, procedure_name, procedure_args,
|
||||||
'v_inst_merge_t_createでエラーが発生', @error_state, @error_msg);
|
'v_inst_merge_t_createでエラーが発生', @error_state, @error_msg);
|
||||||
SIGNAL SQLSTATE '45000'
|
SET @error_msg = (
|
||||||
SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg;
|
CASE
|
||||||
END;
|
WHEN LENGTH(@error_msg) > 128 THEN CONCAT(SUBSTRING(@error_msg, 1, 125), '...')
|
||||||
|
ELSE @error_msg
|
||||||
|
END
|
||||||
|
);
|
||||||
|
SIGNAL SQLSTATE '45000'
|
||||||
|
SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg;
|
||||||
|
END;
|
||||||
|
|
||||||
SET @error_state = NULL, @error_msg = NULL;
|
SET @error_state = NULL, @error_msg = NULL;
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'V施設統合マスタ(洗替処理一時テーブル)作成① 開始');
|
'V施設統合マスタ(洗替処理一時テーブル)作成① 開始');
|
||||||
|
|
||||||
TRUNCATE TABLE internal05.v_inst_merge_t;
|
TRUNCATE TABLE internal05.v_inst_merge_t;
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'V施設統合マスタ(洗替処理一時テーブル)作成① 終了');
|
'V施設統合マスタ(洗替処理一時テーブル)作成① 終了');
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'V施設統合マスタ(洗替処理一時テーブル)作成② 開始');
|
'V施設統合マスタ(洗替処理一時テーブル)作成② 開始');
|
||||||
|
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
internal05.v_inst_merge_t (
|
internal05.v_inst_merge_t (
|
||||||
v_inst_cd,
|
v_inst_cd,
|
||||||
v_inst_cd_merge,
|
v_inst_cd_merge,
|
||||||
fcl_name,
|
fcl_name,
|
||||||
fcl_kn_name,
|
fcl_kn_name,
|
||||||
fmt_addr,
|
fmt_addr,
|
||||||
prft_cd,
|
prft_cd,
|
||||||
fcl_type
|
fcl_type
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
vhmv.v_inst_cd,
|
vhmv.v_inst_cd,
|
||||||
vhmv.v_inst_cd_merg,
|
vhmv.v_inst_cd_merg,
|
||||||
fmv.fcl_name,
|
fmv.fcl_name,
|
||||||
fmv.fcl_kn_name,
|
fmv.fcl_kn_name,
|
||||||
fmv.fmt_addr,
|
fmv.fmt_addr,
|
||||||
fmv.prft_cd,
|
fmv.prft_cd,
|
||||||
fmv.fcl_type
|
fmv.fcl_type
|
||||||
FROM
|
FROM
|
||||||
src05.vop_hco_merge_v vhmv,
|
src05.vop_hco_merge_v AS vhmv,
|
||||||
src05.fcl_mst_v fmv
|
src05.fcl_mst_v AS fmv
|
||||||
INNER JOIN (
|
INNER JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
v_inst_cd,
|
v_inst_cd,
|
||||||
MAX(sub_num) AS sno
|
MAX(sub_num) AS sno
|
||||||
FROM
|
FROM
|
||||||
src05.fcl_mst_v
|
src05.fcl_mst_v
|
||||||
GROUP BY
|
GROUP BY
|
||||||
v_inst_cd
|
v_inst_cd
|
||||||
) max_sno_fmv
|
) AS max_sno_fmv
|
||||||
ON fmv.v_inst_cd = max_sno_fmv.v_inst_cd
|
ON fmv.v_inst_cd = max_sno_fmv.v_inst_cd
|
||||||
AND fmv.sub_num = max_sno_fmv.sno
|
AND fmv.sub_num = max_sno_fmv.sno
|
||||||
WHERE
|
WHERE
|
||||||
vhmv.v_inst_cd_merg = fmv.v_inst_cd
|
vhmv.v_inst_cd_merg = fmv.v_inst_cd
|
||||||
AND STR_TO_DATE(vhmv.apply_dt, '%Y-%m-%d') <= src05.get_syor_date()
|
AND STR_TO_DATE(vhmv.apply_dt, '%Y-%m-%d') <= src05.get_syor_date()
|
||||||
AND fmv.rec_sts_kbn != '9';
|
AND fmv.rec_sts_kbn != '9';
|
||||||
|
|
||||||
call medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
CALL medaca_common.put_info_log(schema_name, procedure_name, procedure_args,
|
||||||
'V施設統合マスタ(洗替処理一時テーブル)作成② 終了' );
|
'V施設統合マスタ(洗替処理一時テーブル)作成② 終了' );
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user