insert into문 사용하려고 하는데 문의드립니다. 0 2 1,039

by 나이많은초보 [2021.01.21 17:36:40]


새로운 product을 등록하는 프로세스입니다.

첫번째 SELECT는 당월에 등록된 product_num에 1을 더하는 것으로 자동으로 번호를 부여하도록 작성한 부분입니다.

신규입력이면 자동으로 년도 그달의 몇번째 이렇게 해서 입력하는 쿼리를 작성해 보았는데...

뭐가 잘못되었는지...

조언 부타드리겠습니다. ㅠㅠ

<selectKey id="save" keyProperty="PRODUCT_NUM" resultClass="String"> -- primary key 값설정
         SELECT NVL (MAX (PRO_NUM) + 1, TO_CHAR (SYSDATE, 'YYMM') || LPAD (NVL (MAX (PRODUCT_NUM), 1), 4, '0')) PRO_NUM
            FROM TB_PRRODUCT_MANUAL
           WHERE SUBSTR (PRO_NUM, 0, 4) = TO_CHAR (SYSDATE, 'YYMM')
</selectKey>
   

<insert id="save" parameterClass="map" resultClass="hmap"> 
    INSERT INTO TB_PRRODUCT_MANUAL(
        PRO_NUM 
        ,PRO_K
        ,PRO_E
        ,MODEL
        ,DEPTCD
        ,PAYNO
                  
      )VALUES(
        #PRO_NUM#
        ,#PRO_K#
        ,#PRO_E#
        ,#MODEL#
        ,#DEPTCD#
        ,#PAYNO#
        )

</insert>

by 마농 [2021.01.21 18:13:54]

1. 명칭 통일 필요 : keyProperty = "PRODUCT_NUM" 으로 지정하고 #PRO_NUM# 으로 사용
2. 프로그램 구문은 잘 몰라서 검색해보니 <selectKey> 부분이 <insert> 안쪽에 기술되는 예제가 많이 나오네요.
<selectKey> 의 위치가 맞는지 확인해 보세요.


by 나이많은초보 [2021.01.25 13:28:53]

감사합니다.

늘 도움많이 받고 있습니다.~

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입