CREATE OR REPLACE FUNCTION f_import_ex_stock_detail( IN itemcode integer, IN structcode integer, IN _exhibitcount integer, IN _condition integer, IN _sellingprice integer, IN _souryouprc integer, IN _stockstate integer, IN usr character varying, OUT errcd integer, OUT errmsg character varying) AS $BODY$ DECLARE item integer; struct integer; exhibit integer; selling integer; souryou integer; BEGIN IF usr IS NULL THEN errmsg := 'æ›´æ–°ãƒ¦ãƒ¼ã‚¶ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“。'; errcd := -10; RETURN; END IF; SELECT itemcd INTO item FROM t_item_basic_attr WHERE itemcd = itemcode; IF item IS NULL THEN errcd := -10; errmsg := '指定ã•れãŸå“目コードã¯å“目基本属性ã«ã‚りã¾ã›ã‚“'; RETURN; END IF; SELECT structcd INTO struct FROM t_item_struct WHERE itemcd = itemcode AND structcd = structcode; IF struct IS NULL THEN errcd := -10; errmsg := '指定ã•ã‚ŒãŸæ§‹æˆã‚³ãƒ¼ãƒ‰ã¯å“目構æˆã«ã‚りã¾ã›ã‚“'; RETURN; END IF; -- ãƒã‚§ãƒƒã‚¯ IF _condition IS NULL THEN errcd := -10; errmsg := 'コンディションãŒä¸æ£ã§ã™'; RETURN; END IF; IF _stockstate IS NULL THEN errcd := -10; errmsg := '在庫状態ãŒä¸æ£ã§ã™'; RETURN; END IF; IF _exhibitcount IS NULL THEN exhibit := 0; ELSE exhibit := _exhibitcount; END IF; IF _sellingprice IS NULL THEN selling := 0; ELSE selling := _sellingprice; END IF; IF _souryouprc IS NULL THEN souryou := 0; ELSE souryou := _souryouprc; END IF; INSERT INTO t_ex_stock_detail(itemcd, structcd, exhibitcount, condition, sellingprice, souryouprc, stockstate, updusrnm) values(itemcode, structcode, exhibit, _condition, selling, souryou, _stockstate, usr); errcd := 1; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE;