2017년 5월 23일 화요일

Oracle ORA-01427 에러


ORA-01427: single-row subquery returns more than one row

ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다.


말그대로 서브쿼리 결과가 2건 이상이라서 발생하는 에러이다.

서브쿼리 결과는 1건 이하여야 한다.

SELECT, INSERT, UPDATE 어디서든 서브쿼리를 사용하는 곳에서 에러발생 가능성이 있다.

간단한 예로

  • 에러발생 쿼리
SELECT 'A',
        (
        SELECT 'A' FROM DUAL
        UNION
        SELECT 'B' FROM DUAL
        ) AS TEST
FROM DUAL


  • 정상적인 쿼리
SELECT 'A',
        (
        SELECT 'A' FROM DUAL
        ) AS TEST
FROM DUAL

댓글 없음:

댓글 쓰기

스프링 빈 등록 순서 오류 시 @PostConstruct 사용

  스프링 xml 설정에서 등록할 빈을 명시적으로 지정한 것과 <context:component-scan>와 혼용해서 사용한  경우 빈등록 순서 오류가 발생 할 수도 있습니다. 여러가지 방법이 있지만, 그 중에서 @PostConstruct ...