안녕하세요
오라클 사용시 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 쿼리문이 이상한가요??
--이상---