오라클 시스템에서 (여기서는 classification.articleID로 인덱스한 것을 가정함) UPDATE ( SELECT * FROM articles JOIN classification ON articles.articleID = classification.articleID WHERE classification.classID = 1 ) SET updated_column = updatevalue
2개의 테이블 join해서 A 테이블의 aa컬럼값을 B테이블에 bb 컬럼값으로 업데이트 하고 싶을때..
update /*+bypass_ujvc*/ ( select A.aa, B.bb from A, B where A.cc = B.cc ) set A.aa = B.bb
이렇게 하면 업데이트 된다. /*+bypass_ujvc*/ 힌트를 주지 않으면 ORA-01779: 키-보존된것이 아닌 테이블로 대응한 열을 수정할 수 없습니다 갈 발생한다..
'SQL > 오라클(Oracle)' 카테고리의 다른 글
오라믈 EXCEPTION 처리. (2) | 2013.04.02 |
---|---|
오라클(Oracle) 테이블 존재 여부 확인하기 (116) | 2013.03.27 |
오라클, start with connect by prior. 계층구조로 정렬하기. (924) | 2013.03.25 |
RANK() 함수 (2) | 2013.03.25 |
오라클 전화번호에서 '-', space, '.' 제거하기 (12) | 2013.03.25 |
댓글