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 : 외부에서 프로그램을 작성해 접속
반응형