확장 UPDATE > db

본문 바로가기

db

확장 UPDATE

페이지 정보

작성자 서방님 댓글 1건 조회 26회 작성일 09-03-30 16:47

본문

MSSQL에서(만?) UPDATE에 FROM을 이용해 JOIN을 할 수 있다.

UPDATE 앨리어스명 SET
컬럼 = 값
FROM 업데이트할테이블 AS 앨리어스명




FROM을 이용해 앨리어스를 사용할 수 있다는건 다른 테이블과의 JOIN을 사용하여 여러 컬럼을 쉽게 업데이트할 수 있다는걸 의미한다.


UPDATE TA SET
    ColumnA = TB.ColumnX
    , ColumnB = TB.ColumnY
FROM TableA AS TA
    INNER JOIN TableB AS TB WITH(NOLOCK) ON TA.JoinColumn = TB.JoinColumn
WHERE TA.ColumnW = 'XXX'




오라클의 확장 UPDATE는 다음과 같은 기능이 된다.
컬럼을 묶어서 사용할 수 있단다.
물론 조건 등에서 자주 사용하던 방식이 업데이트에서 사용된다는 것뿐이긴 하다.

UPDATE TableA TA SET
(ColumnA, ColumnB) = (
    SELECT ColumnX, ColumnY
    FROM TableB TB
    WHERE TA.JoinColumn = TB.JoinColumn
)
WHERE TA.ColumnW = 'XXX'




만약, TB테이블의 컬럼값에도 조건이 들어간다면 UPDATE 조건에도 쿼리가 필요할 것이다.

 

댓글목록

등록된 댓글이 없습니다.

Total 447건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
215
어제
282
최대
592
전체
37,313

그누보드5
Copyright © seobangnim.com All rights reserved.
자바스크립트를 활성화 하세요![ 브라우저에서 자바스크립트를 활성화하는 방법 ]