-- 入金TBのステータス更新SP
CREATE OR REPLACE FUNCTION f_deposit_state_update(
 IN _orderno        integer,    -- 受注No
 IN _depositdate    date,       -- 入金日
 IN _depositstate   integer,    -- ステータス

 IN upduser         varchar,    -- 更新ユーザ
 IN pc              varchar,    -- 更新マシン
 IN count           integer,    -- 更新カウンタ

 OUT errcd          integer,
 OUT errmsg         varchar,
 OUT code           integer) AS
$BODY$
DECLARE
    cntcheck integer;
BEGIN
    --
    -- パラメータチェック
    --



    -- 更新カウンタチェック
    SELECT updcnt INTO cntcheck FROM t_deposit WHERE orderno = _orderno;
    IF NOT FOUND OR cntcheck <> count THEN
        RAISE EXCEPTION '更新カウンタが不正です';
    END IF;

    -- ステータス更新
    UPDATE t_deposit SET
        depositdate = _depositdate,
        depositstate = _depositstate,

        updusrnm = upduser,
        updpcnm = pc
        WHERE orderno = _orderno;
    errcd := 1;
    code := _orderno;
    errmsg := '完了';
    RETURN;

END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;