-- ã‚·ã‚¹ãƒ†ãƒ æƒ…å ±ãƒ†ãƒ¼ãƒ–ãƒ« éŠ€è¡Œæƒ…å ±å¤‰æ›´ CREATE OR REPLACE FUNCTION f_systeminfo_bank_update( IN integer, IN varchar, -- 銀行å IN varchar, IN varchar, IN integer, IN varchar, IN varchar, IN character varying, IN character varying, IN integer, OUT errcd integer, OUT errmsg character varying, OUT code integer) AS $$ DECLARE kubun ALIAS FOR $1; -- 区分 i_bankname ALIAS FOR $2; -- 銀行å i_shitenname ALIAS FOR $3; -- 支店å i_shitennumberkey ALIAS FOR $4; -- æ”¯åº—ç•ªå· i_kouzadiv ALIAS FOR $5; -- å£åº§ç¨®é¡ž i_kouzanumberkey ALIAS FOR $6; -- å£åº§ç•ªå· i_kouzaname ALIAS FOR $7; -- å£åº§å義 i_updusrnm ALIAS FOR $8; -- 更新ユーザーå i_updpcnm ALIAS FOR $9; -- 更新マシンå i_updcnt ALIAS FOR $10; -- UpdCnt --cntcheck integer; rec RECORD; nowdate timestamp; newupdcnt integer; BEGIN -- å¿…é ˆãƒã‚§ãƒƒã‚¯ -- IF kubun IS NULL OR kubun NOT IN (2) THEN RAISE EXCEPTION '処ç†åŒºåˆ†ãŒä¸æ£ã§ã™'; END IF; IF i_updusrnm IS NULL THEN RAISE EXCEPTION '更新ユーザーåã¯å¿…é ˆã§ã™'; END IF; IF i_updpcnm IS NULL THEN RAISE EXCEPTION 'æ›´æ–°PCåã¯å¿…é ˆã§ã™'; END IF; IF i_updcnt IS NULL THEN RAISE EXCEPTION 'UpdCntã¯å¿…é ˆã§ã™'; END IF; -- 更新カウンタãƒã‚§ãƒƒã‚¯ /* IF kubun IN (2) THEN SELECT updcnt INTO cntcheck FROM t_systeminfo WHERE validflg=TRUE; IF NOT FOUND OR cntcheck <> i_updcnt THEN RAISE EXCEPTION '更新カウンタãŒä¸æ£ã§ã™'; END IF; END IF; */ IF kubun IN (2) THEN SELECT * INTO rec FROM t_systeminfo WHERE validflg=TRUE; IF NOT FOUND OR rec.updcnt <> i_updcnt THEN RAISE EXCEPTION '更新カウンタãŒä¸æ£ã§ã™'; END IF; END IF; --- æ›´æ–°å‡¦ç† --- IF kubun = 2 THEN UPDATE t_systeminfo SET bankname = i_bankname, shitenname = i_shitenname, shitennumberkey = i_shitennumberkey, kouzadiv = i_kouzadiv, kouzanumberkey = i_kouzanumberkey, kouzaname = i_kouzaname, upddate = nowdate, updusrnm = i_updusrnm, updpcnm = i_updpcnm WHERE validflg=TRUE; SELECT * INTO rec FROM t_bank WHERE shitennumberkey = i_shitennumberkey AND kouzanumberkey = i_kouzanumberkey AND delflg=FALSE; IF NOT FOUND THEN UPDATE t_bank SET delflg=TRUE; -- æ–°ã—ã„行以外ã¯å‰Šé™¤ INSERT INTO t_bank (shitennumberkey, kouzanumberkey) VALUES (i_shitennumberkey, i_kouzanumberkey); ELSE UPDATE t_bank SET shitennumberkey = i_shitennumberkey, kouzanumberkey = i_kouzanumberkey WHERE delflg=FALSE; END IF; END IF; code := 1; END; $$ LANGUAGE 'plpgsql' VOLATILE;