Code/Database (DB)
[SQL] 서브쿼리(SubQuery)
codens
2019. 2. 7. 02:29
[SQL] 서브쿼리(SubQuery)
UPDATE test2
SET test2.t1_no = 1
WHERE
t2_no IN
(
SELECT
test2.t2_no AS t2_t2_no
FROM
test1
RIGHT JOIN test2 ON ( test1.t1_no = test2.t1_no )
WHERE
isnull( test1.t1_no )
GROUP BY
test2.t1_no
)
1093 - You can't specify target table 'test2' for update in FROM clause
* 제약 사항
- 서브쿼리(SubQuery)에 update 하려는 테이블(test2)를 사용하면 안된다.
- View를 사용해도 마찬가지로 제약이 있다.
-> 해결 방법 : test2 테이블을 복사해서 test3으로 하고 서브 쿼리의 test2 부분을 test3으로 수정한다.
-> 근본적인 해결 방법은 아니다
방법2 : 프로시저의 커서 이용
방법3 : 외부에서 프로그램을 작성해 접속
반응형