update select 문의 0 1 3,518

by 삼만돌이 [SQL Query] update [2013.11.25 16:34:28]



update select 할때 모든 컬럼에 대해서 update하는 방법은 컬럼을 나열하는 방법 말고는 없나요?

tablea와 tablea_a는 동일한 테이블인데 dbl만 다른경우입니다.
기본적으로는 아래와 같이 하겠지만 모든 컬럼에 대해서 update를 해야 될경우에는 그 컬럼을 다 나열해주 방법 말고
그냥 select * 식으로 컬럼 나열 없이는 불가능한지요?
위험성때문일까요.

update tablea aa
set (cc,dd) = (select cc,dd from tablea_a@dblink where yy = aa.yy)
where kk = '123'
by 아발란체 [2013.11.25 17:10:40]
조회된 결과를 대입하여 업데이트 하는 방법이라면 비슷한 방법이 있습니다.
업데이트 구문 테이블 기술 절에
2개 테이블에 대해 조인한 형태로 뷰를 쓰시면 되며 해당 조회문은 키로 보존 되어야 합니다.
(조건절 양쪽 테이블 키 값 =)
또한 한쪽 테이블만 업데이트 할 수 있습니다.
동시 2개 테이블 업데이트는 되지 않습니다.(MySQL은 가능)

Merge 문도 방법이 되지 않을까 써봅니다.
강좌 : http://oracleclub.com/lecture/2225
위키 : http://wiki.gurubee.net/pages/viewpage.action?pageId=27427475
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입