MERGE INTO TNOTIFY MST
USING (SELECT * FROM TNOTIFY INN
WHERE INN.GOODS_CODE = #goodsCode#
AND INN.GOODS_TYPE = #goodsType#
AND INN.NOTIFY_CODE = #notifyCode#
)
ON (MST.GOODS_CODE=INN.GOODS_CODE
AND MST.GOODS_TYPE = INN.GOODS_TYPE
AND MST.NOTIFY_CODE = INN.NOTIFY_CODE)
WHEN MATCHED THEN UPDATE
SET MST.NOTIFY_TITLE=#notifyTitle#
, MST.NOTIFY_NOTE=#notifyNote#
, MST.DISPLAY_SEQ=#displaySeq#
, MST.USE_FLAG=#useFlag#
, MST.MODIFY_DATE=SYSDATE
, MST.MODIFY_ID=#modifyId#
, MST.MODIFY_IPADDR=#modifyIpaddr#
WHERE MST.GOODS_CODE=#goodsCode#
AND MST.NOTIFY_CODE=#notifyCode#
AND MST.GOODS_TYPE=#goodsType#
WHEN NOT MATCHED THEN INSERT
( MST.GOODS_CODE
, MST.NOTIFY_CODE
, MST.GOODS_TYPE
, MST.NOTIFY_TITLE
, MST.NOTIFY_NOTE
, MST.DISPLAY_SEQ
, MST.USE_FLAG
, MST.INSERT_DATE
, MST.INSERT_ID
, MST.INSERT_IPADDR
, MST.MODIFY_DATE
, MST.MODIFY_ID
, MST.MODIFY_IPADDR )
VALUES (
#goodsCode#
, #notifyCode#
, #goodsType#
, #notifyTitle#
, #notifyNote#
, #displaySeq#
, #useFlag#
, SYSDATE
, #insertId#
, #insertIpaddr#
, SYSDATE
, #modifyId#
, #modifyIpaddr# )
이렇게 쿼리문을 짰는데.. ON 문에 같은 테이블 끼리는 안되는 건가요?
현재 TNOTIFY 테이블에는 데이터가 하나도 없는 상태 이며. UI 단에서 입력한 값이 들어가게 할려고 합니다.
PK는 GOODS_CODE, NOTIFY_CODE, GOODS_TYPE
에러 메세지는 ORA-00904: "INN"."NOTIFY_CODE": 부적합한 식별자 이렇게 나옵니다.
제 설명이 부족하다면 조언 부탁 드리겠습니다.
문제점이 무엇인지 답변 부탁드릴께요..