더북(TheBook)

⑥ 결과 패치

문장을 실행했으므로 결과 집합을 패치해야 하는데 이때 FETCH_ROWS 함수를 호출한다.

    DBMS_SQL.FETCH_ROWS (
            c IN INTEGER)
        RETURN INTEGER;

c: 파싱할 문장의 커서 ID 파싱할 문장의 커서 ID

반환 값: 전체 결과 로우 수가 아니라 실제로 패치된 로우 수

FETCH_ROWS의 반환 값은 패치할 값이 있으면 1, 패치할 로우가 없을 때는 0을 반환한다. EXECUTE 함수가 전체 결과 로우 수를 반환하는 반면, FETCH_ROWS 함수는 0이나 1을 반환하는 것이다. 따라서 결과 값을 패치하는 경우, 루프를 돌며 FETCH_ROWS 함수를 호출하면서 반환 값이 0일 때 루프를 빠져 나오도록 코드를 작성해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.