49 lines
1.2 KiB
SQL
49 lines
1.2 KiB
SQL
-- 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
|