- LOOP 문안 에 LOOP 이 들어가 있 는 경우 중첩 LOOP 라고 한다 . 다음 은 구구단 을 출력 해 주 는 문제 를 프로그래밍 한 것 이 다 . . 예 를 들 면 EXEC PCD _ GUGUDAN ( 2 , 5 ) 실행 은 2 단 에서 5 단 까지 결과물 모두 를 출력 해 준다 . CREATE OR REPLACE PROCEDURE PCD _ GUGUDAN ( V _ STARTDAN IN NUMBER -- 2 5 , V _ ENDDAN IN NUMBER ) -- 9 8 IS V _ COL NUMBER : = V _ STARTDAN ; V _ ROW NUMBER : = 1 ; V _ CALCSTR VARCHAR 2 ( 100 ) ; V _ SPACE CHAR ( 2 ) ; BEGIN LOOP --- 외부 LOOP EXIT WHEN V _ ROW = 10 ; LOOP ---- 내부 LOOP EXIT WHEN V _ COL > V _ ENDDAN ; IF V _ CALCSTR IS NOT NULL THEN V _ SPACE : = ' '; END IF ; V _ CALCSTR : = V _ CALCSTR || V _ SPACE || V _ COL || '*' || V _ ROW || '=' || V _ COL * V _ ROW ; V _ COL : = V _ COL + 1 ; END LOOP ; ---- 내부 LOOP 끝 DBMS _ OUTPUT . PUT _ LINE ( V _ CALCSTR ) ; V _ ROW : = V _ ROW + 1 ; V _ COL : = V _ STARTDAN ; V _ CALCSTR : = NULL ; V _ SPACE : = NULL ; END LOOP ; -- 외부 LOOP 끝 END ; < EXEC PCD _ GUGUDAN ( 2 , 4 ) 실행 시 결과물 > < 참고 1 > V _ SPACE 는 구구단 출력 시 구구단 들 사이 에 공백 을 위해 넣 어 준 것 뿐 이 다 . < 참고 2 > V _ COL : = V _ STARTDAN ; V _ CALCSTR : = NULL ; 외부 루프 에서 다시 V _ COL 과 V _ CALCSTR 변수 를 다시 사용 하 므로 초기 화 해 주 었 다 . 유념 하 자 . ( 이렇게 초기 화 하 지 않 으면 내부 LOOP 결과물 만 9 번 출력 되 버릴 것 이 다 . )