오라클에서 SELECT와 UPDATE를 한 트렌젝션에 끝내는 방법이다.
DB 트렌제션을 줄일 수 있어 효율이 좋은 문법이다.
예1) 테이블 AAA에서 COL1을 조회하여 BBB의 COL2를 업데이트하는 경우
1
2
3
4
5
6
|
UPDATE AAA
SET COL1= ( SELECT COL2
FROM BBB
WHERE 조건 )
WHERE 조건
;
|
cs |
* 주의사항 *
업데이트할 컬럼 COL1와 COL2는 동일한 속성의 칼럼이어야 한다.
(컬럼의 데이터 타입, 사이즈 등)
예2) 테이블 AAA에서 COL1, COL2을 조회하여 BBB의 COL1, COL2를 업데이트하는 경우
1
2
3
4
5
6
|
UPDATE AAA
SET COL1, COL2 = ( SELECT COL1, COL2
FROM BBB
WHERE 조건 )
WHERE 조건
;
|
cs |
업데이트하고자 하는 컬럼의 개수만큼 추가하면 된다.
이때 마찬가지로 컬럼의 개수와 속성이 같은 경우만 가능하다.
'[개발] Programming > Database' 카테고리의 다른 글
ora-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. 오류 (0) | 2019.05.28 |
---|---|
오라클 ORA-01722: 수치가 부적합합니다. (0) | 2019.05.24 |
오라클 SELECT 절에 문자 합치는 방법 (0) | 2019.02.21 |
iBATIS, CDATA를 적는 목적 (0) | 2018.11.07 |
iBatis 오라클 NUMBER 타입, java.math.BigDecimal cannot be cast to java.lang.String 에러 해결 방법 (0) | 2018.11.06 |
댓글