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


'Code > Web' 카테고리의 다른 글

[DB] PpostgreSQL 사용기  (0) 2019.02.11
CDN 속도 측정 비교 - CloudFlare Forever  (0) 2019.02.09
[SQL] 서브쿼리(SubQuery)  (0) 2019.02.07
[BootStrap] Tips, Forms  (0) 2019.01.31
Redis 사용법  (0) 2019.01.31
Windows 에 Redis 설치  (0) 2019.01.31
Posted by 코덴스

댓글을 달아 주세요