
ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다.
"single-row subquery returns more than one row"
데이터 확인을 위해 SQL 질의문을 작성하다 보면 가끔씩 마주치는 오류이다.
-- ORA-01427 오류 발생
SELECT
*
FROM
TB_USER
WHERE
USER_NO = (
SELECT USER_NO
FROM TB_USER
)
조건문에 들어간 서브쿼리가 하나 이상의 결과값을 뱉어내면 위와 같은 오류 메시지가 출력되는데 해결 방법은 간단하다.
1. equlas(=) 로 검색하려는 조건을 'IN'으로 수정하기
2. 하나의 결과만 정확하게 출력할 수 있도록 서브쿼리 수정하기
아래는 예시이다!
-- 1번
SELECT
*
FROM
TB_USER
WHERE
USER_NO IN (
SELECT USER_NO
FROM TB_USER
)
----------
-- 2번
SELECT
*
FROM
TB_USER
WHERE
USER_NO IN (
SELECT USER_NO
FROM TB_USER
WHERE USER_NO = ?
)
위의 예시는 이해를 돕기 위해 작성한 것이고 실제 운영중인 혹은 작성하고자 하는 프로그램이 어떤지에 따라 효율적으로 구상해서 작성해야 한다.
단순한 쿼리일지라도 서버의 성능이나 DB의 성능에 따라 조회 시간이 말도 안되게 늘어나는 경우를 종종 봤기 때문에 기초부터 탄탄하게, 꼼꼼하게 쿼리를 작성하는 습관을 길러야겠다!
'Database > Oracle' 카테고리의 다른 글
[Oracle | 오라클] ORA-01400 : NULL을 (~) 안에 삽입할 수 없습니다. 오류 (0) | 2022.08.10 |
---|---|
[Oracle | 오라클] ORA-00913 : 값의 수가 너무 많습니다 오류 (0) | 2022.08.09 |
[Oracle] 오라클 테이블 정보 및 컬럼 정보 조회 쿼리 (0) | 2021.08.12 |
[Oracle] 자바에서 오라클을 사용하기 위한 JDBC (0) | 2020.10.09 |
[Oracle] 오라클 View, 뷰 (0) | 2020.09.29 |

ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다.
"single-row subquery returns more than one row"
데이터 확인을 위해 SQL 질의문을 작성하다 보면 가끔씩 마주치는 오류이다.
-- ORA-01427 오류 발생
SELECT
*
FROM
TB_USER
WHERE
USER_NO = (
SELECT USER_NO
FROM TB_USER
)
조건문에 들어간 서브쿼리가 하나 이상의 결과값을 뱉어내면 위와 같은 오류 메시지가 출력되는데 해결 방법은 간단하다.
1. equlas(=) 로 검색하려는 조건을 'IN'으로 수정하기
2. 하나의 결과만 정확하게 출력할 수 있도록 서브쿼리 수정하기
아래는 예시이다!
-- 1번
SELECT
*
FROM
TB_USER
WHERE
USER_NO IN (
SELECT USER_NO
FROM TB_USER
)
----------
-- 2번
SELECT
*
FROM
TB_USER
WHERE
USER_NO IN (
SELECT USER_NO
FROM TB_USER
WHERE USER_NO = ?
)
위의 예시는 이해를 돕기 위해 작성한 것이고 실제 운영중인 혹은 작성하고자 하는 프로그램이 어떤지에 따라 효율적으로 구상해서 작성해야 한다.
단순한 쿼리일지라도 서버의 성능이나 DB의 성능에 따라 조회 시간이 말도 안되게 늘어나는 경우를 종종 봤기 때문에 기초부터 탄탄하게, 꼼꼼하게 쿼리를 작성하는 습관을 길러야겠다!
'Database > Oracle' 카테고리의 다른 글
[Oracle | 오라클] ORA-01400 : NULL을 (~) 안에 삽입할 수 없습니다. 오류 (0) | 2022.08.10 |
---|---|
[Oracle | 오라클] ORA-00913 : 값의 수가 너무 많습니다 오류 (0) | 2022.08.09 |
[Oracle] 오라클 테이블 정보 및 컬럼 정보 조회 쿼리 (0) | 2021.08.12 |
[Oracle] 자바에서 오라클을 사용하기 위한 JDBC (0) | 2020.10.09 |
[Oracle] 오라클 View, 뷰 (0) | 2020.09.29 |