본문 바로가기
Error Report

[ERROR] ORA-30926: 원본 테이블의 고정 행 집합을 가져올 수 없습니다

by jangThang 2024. 1. 30.
반응형

 

[ Contents ]

     

     

    1. 오류 메시지

    java.sql.SQLException: ORA-30926: 원본 테이블의 고정 행 집합을 가져올 수 없습니다

     

     

     

    2. 원인

     

     MERGE INTO 문에서 USING ON 구문이 여러 행 조회되면서 문제가 발생합니다.

     MERGE INTO문은 하나의 행을 조회해서 있으면 UPDATE, 없으면 INSERT하는 구문입니다. 따라서 USING ON을 통해 조회되는 데이터는 1개여야 합니다.

     

    반응형

     

    3. 해결방안

    MERGE INTO
    	TABLE1 A
    USING
    	TABLE2 B
    ON
    	(A.PK = B.PK)
    WHEN MATCHED
    THEN
    	...

     위와 같이 있는 MERGE INTO 절에서 USING ON으로 조회되는 데이터를 검증합니다.

     

     

    SELECT *
    FROM TABLE1 A, TABLE2 B
    WHERE A.PK = B.PK;

     조회 후 하나의 행이 나오도록 조건절을 추가하거나, 필요없는 데이터를 삭제합니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글