Oracle DB Select/Update 구문 처리 문의입니다. 0 0 1,954

by 무사 [Oracle Tuning] Select Update [2020.08.14 11:54:52]


안녕하세요

오라클 사용시 Select/ Update 구문 문의입니다.

프로그램 Logic 부분은 1초 주기로

Select 검색 --> 검색한 Data 계산 처리(누적 값) --> Update  처리

1 ---> 1+1 ---> 2

2 ---> 2+1 ---> 3

3 ---> 3+1 ---> 4

위 순서대로 1초 주기로 계속 진행한 후, 누적값이 처리되는 구문입니다.

최근에 갑자기 아래와 같은 현상이 발생했는데....(업데이트가 안 되서 예전 값에 +1값만 저장하는 현상)

2 ---> 2+1 ---> 3

2 ---> 2+3 ---> 3

Update가 안 되는 경우가 여러 건 발생하는 현상이 왜 발생하는지 경험해 보신 분은 자세한 답변 부탁드립니다.

개발 환경 : Oracle 10g 32bit, C# 2013, 프레임워크 4.0

/// 검색 SQL문
SELECT SAMPLE_CODE, NVL(SIN_S_DATE, sysdate) SIN_S_DATE, NVL(SIN_E_DATE, sysdate) SIN_E_DATE, NVL(SIN_TRK, 0) SIN_TRK 
 FROM T_SINTRK 
 WHERE SP_NO = :SP_NO AND SAMPLE_CODE = :SAMPLE_CODE
  ORDER BY SAMPLE_CODE DESC;

/// 업데이트 SQL문
MERGE INTO T_SINTRK 
  USING DUAL
  ON (SAMPLE_CODE = :U_SAMPLE_CODE) 
  WHEN MATCHED THEN
  UPDATE SET 
      SIN_S_DATE = :U_SIN_S_DATE,
      SIN_E_DATE = :U_SIN_E_DATE, 
      SIN_TRK = ROUND(:U_SIN_TRK, 3)

Update 쿼리문이 이상한가요??

--이상---

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