feat: 洗替用マスタ作成の実装
This commit is contained in:
parent
3131422eb8
commit
284f36f801
48
rds_mysql/stored_procedure/inst_merge_t_create.sql
Normal file
48
rds_mysql/stored_procedure/inst_merge_t_create.sql
Normal file
@ -0,0 +1,48 @@
|
||||
-- A5M2で実行時に[SQL] - [スラッシュ(/)のみの行でSQLを区切る]に変えてから実行する
|
||||
CREATE PROCEDURE src05.inst_merge_t_create()
|
||||
SQL SECURITY INVOKER
|
||||
BEGIN
|
||||
-- 例外処理
|
||||
-- エラーが発生した場合に一時テーブルの削除を実施
|
||||
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
||||
BEGIN
|
||||
GET DIAGNOSTICS CONDITION 1
|
||||
@error_state = RETURNED_SQLSTATE, @error_msg = MESSAGE_TEXT;
|
||||
ROLLBACK;
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg;
|
||||
END;
|
||||
|
||||
SET @error_state = NULL, @error_msg = NULL;
|
||||
START TRANSACTION;
|
||||
|
||||
TRUNCATE TABLE internal05.inst_merge_t;
|
||||
|
||||
INSERT INTO
|
||||
internal05.inst_merge_t (
|
||||
dcf_dsf_inst_cd,
|
||||
dup_opp_cd,
|
||||
form_inst_name_kanji,
|
||||
form_inst_name_kana,
|
||||
inst_addr,
|
||||
prefc_cd
|
||||
)
|
||||
SELECT
|
||||
di.dcf_inst_cd,
|
||||
di.dcf_inst_cd_new,
|
||||
ci.form_inst_name_kanji,
|
||||
ci.form_inst_name_kana,
|
||||
ci.inst_addr,
|
||||
ci.prefc_cd
|
||||
FROM
|
||||
dcf_inst_merge di
|
||||
LEFT OUTER JOIN com_inst ci
|
||||
ON di.dcf_inst_cd_new = ci.dcf_dsf_inst_cd
|
||||
WHERE
|
||||
ci.delete_flg = '0'
|
||||
AND STR_TO_DATE(di.tekiyo_month, '%Y%m') <= (SELECT STR_TO_DATE(syor_date, '%Y%m%d') FROM hdke_tbl)
|
||||
AND di.muko_flg = '0'
|
||||
AND di.enabled_flg = 'Y';
|
||||
|
||||
COMMIT;
|
||||
END
|
||||
65
rds_mysql/stored_procedure/v_inst_merge_t_create.sql
Normal file
65
rds_mysql/stored_procedure/v_inst_merge_t_create.sql
Normal file
@ -0,0 +1,65 @@
|
||||
-- A5M2で実行時に[SQL] - [スラッシュ(/)のみの行でSQLを区切る]に変えてから実行する
|
||||
CREATE PROCEDURE src05.v_inst_merge_t_create()
|
||||
SQL SECURITY INVOKER
|
||||
BEGIN
|
||||
-- 例外処理
|
||||
-- エラーが発生した場合に一時テーブルの削除を実施
|
||||
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
||||
BEGIN
|
||||
GET DIAGNOSTICS CONDITION 1
|
||||
@error_state = RETURNED_SQLSTATE, @error_msg = MESSAGE_TEXT;
|
||||
ROLLBACK;
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg;
|
||||
END;
|
||||
|
||||
SET @error_state = NULL, @error_msg = NULL;
|
||||
START TRANSACTION;
|
||||
|
||||
TRUNCATE TABLE internal05.v_inst_merge_t;
|
||||
|
||||
INSERT INTO
|
||||
internal05.v_inst_merge_t (
|
||||
v_inst_cd,
|
||||
v_inst_cd_merge,
|
||||
fcl_name,
|
||||
fcl_kn_name,
|
||||
fmt_addr,
|
||||
prft_cd
|
||||
)
|
||||
SELECT
|
||||
vv.v_inst_cd,
|
||||
vv.v_inst_cd_merg,
|
||||
fv.fcl_name,
|
||||
fv.fcl_kn_name,
|
||||
fv.fmt_addr,
|
||||
fv.prft_cd
|
||||
FROM
|
||||
src05.vop_hco_merge_v vv,
|
||||
src05.fcl_mst_v fv
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
v_inst_cd,
|
||||
MAX(sub_num) AS sno
|
||||
FROM
|
||||
src05.fcl_mst_v
|
||||
GROUP BY
|
||||
v_inst_cd
|
||||
) fmv1
|
||||
ON fv.v_inst_cd = fmv1.v_inst_cd
|
||||
AND fv.sub_num = fmv1.sno
|
||||
WHERE
|
||||
vv.v_inst_cd_merg = fv.v_inst_cd
|
||||
AND STR_TO_DATE(vv.apply_dt, '%Y-%m-%d') <= (
|
||||
SELECT
|
||||
STR_TO_DATE(syor_date, '%Y%m%d')
|
||||
FROM
|
||||
src05.hdke_tbl
|
||||
)
|
||||
AND ((fcl_type IN ('A1','A0')) OR fcl_type BETWEEN '20' AND '29')
|
||||
AND fv.rec_sts_kbn != '9'
|
||||
ORDER BY
|
||||
STR_TO_DATE(vv.apply_dt, '%Y-%m-%d') ASC;
|
||||
|
||||
COMMIT;
|
||||
END
|
||||
Loading…
x
Reference in New Issue
Block a user