내용으로 건너뛰기
GaramX
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
현재 위치:
home
»
oracle
»
update_join
추적:
oracle:update_join
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Update Join ====== ==== Oracle ==== <code sql> -- 1. SubQuery 를 이용한 Update UPDATE emp e SET e.dname = (SELECT d.dname FROM dept d WHERE d.deptno = e.deptno) WHERE EXISTS (SELECT 0 FROM dept d WHERE d.deptno = e.deptno) ; -- 2. Updatable Join View 이용 -- 단, d.deptno 가 반드시 PK 이어야 함 -- 10G 까지는 PK 아니더라도 힌트로 제어 가능(/*+ bypass_ujvc */) UPDATE /*+ bypass_ujvc */ (SELECT e.dname , d.dname AS dname_new FROM emp e , dept d WHERE d.deptno = e.deptno ) SET dname = dname_new ; -- 3. Merge MERGE INTO emp e USING dept d ON (d.deptno = e.deptno) WHEN MATCHED THEN UPDATE SET e.dname = d.dname ; </code> ==== SQL Server ==== <code sql> -- From 절 사용 조인 -- UPDATE e SET e.dname = d.dname FROM emp e INNER JOIN dept d ON d.deptno = e.deptno </code> === Sample === <code sql> update b set B.QUERY_PARAM_NAME = substring(b.QUERY_PARAM_NAME,4,80) from FRM_QUERY_DEF_PARAM b join FRM_QUERY_DEF A ON A.QUERY_DEF_ID = B.QUERY_DEF_ID AND A.QUERY_NAME like 'PAY%' where QUERY_PARAM_NAME in ('av_ret_code','av_ret_message') and QUERY_PARAM_INOUT_TYPE = 'out' </code> ==== MySQL ==== <code sql> -- Update 절에서 바로 조인 -- -- SET sql_safe_updates = 0; UPDATE emp e INNER JOIN dept d ON d.deptno = e.deptno SET e.dname = d.dname ; </code>
oracle/update_join.txt
· 마지막으로 수정됨: 2025/04/15 10:05 저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로