반응형

"ORA-01422: 실제 인출은 요구된 것보다 많은 수의 행을 추출합니다"에러 해결 방법

ORA-01422: 발생원인

Cause: The number specified in exact fetch is less than the rows returned.

원인: 정확한 가져오기에 지정된 숫자가 반환된 행보다 적습니다.

ORA-01422 원인

원인:INTO에 여러건 부여할수 없음

DECLARE
 V_SORT NVARCHAR2(100);
begin
    SELECT 1 INTO V_SORT FROM 
    (
        SELECT 1 SORT FROM DUAL UNION ALL
        SELECT 1 SORT FROM DUAL UNION ALL
        SELECT 2 SORT FROM DUAL     
    ) 
    ;
    dbms_output.put_line('V_SORT : ' || TO_CHAR( V_SORT));
EXCEPTION WHEN OTHERS THEN
    dbms_output.put_line( 'SQLERRM :' || SQLERRM ||CHR(13) || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
end;

ORA-01422: 조치방법

Action: Rewrite the query or change number of rows requested

조치: 쿼리를 다시 작성하거나 요청된 행 수를 변경하십시오.

ORA-01422 조치

DECLARE
 V_SORT NVARCHAR2(100);
begin
    SELECT 1 INTO V_SORT FROM 
    (
        SELECT 1 SORT FROM DUAL UNION ALL
        SELECT 1 SORT FROM DUAL UNION ALL
        SELECT 2 SORT FROM DUAL     
    )X
    WHERE X.SORT =2
    ;
    dbms_output.put_line('V_SORT : ' || TO_CHAR( V_SORT));
EXCEPTION WHEN OTHERS THEN
    dbms_output.put_line( 'SQLERRM :' || SQLERRM ||CHR(13) || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
end;
반응형

+ Recent posts