--DROP FUNCTION f_import_main(IN _shopdiv integer, IN _itemcd integer, IN _itemnm varchar, IN _itemnmkana varchar, IN _makercd integer, IN _makernm varchar, IN _labelcd integer, IN _labelnm varchar, IN _seriescd integer, IN _seriesnm varchar, IN _itemdivcd integer, IN _examgroupcd integer, IN _examno varchar, IN _iteminfo text, IN _eirinrating integer, IN _subtitle varchar, IN _OriginalTitle varchar, IN _ProductYear varchar, IN _ProductCountry varchar, IN _rankingrate integer, IN _comment varchar, IN _mediacd integer, IN _makeritemcd varchar, IN _jancd varchar, IN _isbncd varchar, IN _salestartdate date, IN _orderclosedate date, IN _saleformcd integer, IN _rectime integer, IN _makerprice integer, IN _exhibitcount integer, IN _condition integer, IN _sellingprice integer, IN _souryouprc integer, IN _stockstate integer,IN _genrecd integer[], IN _genrenm varchar[], IN _castcd integer[], IN _castnm varchar[], IN directorcode integer[], IN directorname varchar[], IN release integer, IN usr varchar, OUT errcd integer, OUT errmsg varchar, OUT code integer); CREATE OR REPLACE FUNCTION f_import_item_main( IN _itemcd integer, -- å“ç›®C -- 基本 IN _itemnm varchar, -- å“å IN _itemnmkana varchar, -- å“å(ã‹ãª) IN _itemexp text, -- ä½œå“æ¡ˆå†… -- web IN _release date, -- 公開日 IN _web_comment text, -- コメント -- æ§‹æˆ IN _variationnm varchar, -- ãƒãƒªã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ IN _makeritemcd varchar, -- å“番 IN _jancd varchar, -- JANコード IN _salestartdate date, -- 発売日 IN _orderclosedate date, -- 予約終了日 IN _struct_comment text, -- コメント IN _genrecd integer[], -- ジャンルC IN _genrenm varchar[], -- ジャンルå IN usr varchar, -- 更新ユーザ OUT errcd integer, OUT errmsg varchar, OUT code integer) AS $BODY$ DECLARE sql varchar; rec_item RECORD; rec_genre RECORD; i integer := 1; itemc integer; BEGIN IF _itemnm LIKE '' THEN errcd := -20; errmsg := 'タイトルã¯å¿…é ˆã§ã™ã€‚'; RETURN; END IF; -- é‡è¤‡ãƒã‚§ãƒƒã‚¯ SELECT itemcd INTO itemc FROM t_item_basic_attr WHERE delflg = false AND s_get_nocase_text(itemnm) LIKE s_get_nocase_text(_itemnm); IF FOUND THEN errcd := -20; errmsg := 'åŒã˜ã‚¿ã‚¤ãƒˆãƒ«ãŒæ—¢ã«ç™»éŒ²ã•れã¦ã„ã¾ã™ã€‚'; RETURN; END IF; ---- æ›´æ–°å‡¦ç† -- 基本 INSERT INTO t_item_basic_attr(itemnm, itemnmkana, itemexp, updusrnm) VALUES(_itemnm, _itemnmkana, _itemexp, usr); itemc := lastval(); -- æ§‹æˆ INSERT INTO t_item_struct(itemcd, variationnm, makeritemcd, jancd, salestartdate, orderclosedate, comment, updusrnm) VALUES(itemc, _variationnm, _makeritemcd, _jancd, _salestartdate, _orderclosedate, _struct_comment, usr); -- WEB INSERT INTO t_item_web_attr(itemcd, releasedate, comment, updusrnm) VALUES(itemc, _release, _web_comment,usr); -- ジャンル IF _genrecd IS NOT NULL OR _genrenm IS NOT NULL THEN SELECT * FROM f_import_genre_item( itemc, _genrecd, _genrenm, usr ) INTO rec_genre ; IF rec_genre.errcd <> 1 THEN errcd := rec_genre.errcd; errmsg := rec_genre.errmsg; RETURN; END IF; END IF; errcd := 1; errmsg := '完了'; code := itemc; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE;