결과일자를 접수일자 +1 로 업데이트하려고 합니다.
오라클클럽을 검색해보고 힌트를 사용하면 된다는 글을 찾아서
이렇게 만들어봤는데요.
UPDATE /*+ bypass_ujvc */
(
SELECT C.RESULTDATE AS OLD_RESULT ,TO_DATE(((JUPDATE + 1) || ' ' || '17:30:00'),'YYYY-MM-DD HH24:MI:SS') AS NEW_RESULT
FROM CCCC C,
DDDD D
WHERE C.COL1 = D.COL1
AND C.COL2 = '2'
AND C.COL3 >= TO_DATE('2010-01-13','YYYY-MM-DD')
AND D.COL2 = 'AB'
AND D.COL2 = '999'
)
SET OLD_RESULT = NEW_RESULT
위 문장을 실행하면
ORA-01779: cannot modify a column which maps to a non key-preserved table
이 에러가 뜨네요. 음. 그래서,,
UPDATE CCCC C
SET RESULTDATE = (
SELECT TO_DATE(((JUPDATE + 1) || ' ' || '17:30:00'),'YYYY-MM-DD HH24:MI:SS') AS NEW_RESULT
FROM DDDD D
WHERE C.COL1 = D.COL1
AND C.COL2 = '2'
AND C.COL3 >= TO_DATE('2010-01-13','YYYY-MM-DD')
AND D.COL2 = 'AB'
AND D.COL2 = '999' )
이렇게도 해보았는데 이건 쿼리 시간이 지금 30분째;;;실행중이네요;;
어떤부분이 잘못된건지 잘모르겠네요 도와주시면 감사하겠습니다. ㅠㅠ