Oracle PL/SQL FOR LOOP(예제 포함)

For 루프란 무엇입니까?

"FOR LOOP" 문은 다른 조건을 기반으로 하기보다는 알려진 횟수만큼 코드를 실행하려는 경우에 가장 적합합니다.

이 루프에서는 하한과 상한이 지정되며 루프 변수가 이 범위 사이에 있는 한 루프가 실행됩니다.

루프 변수는 자체 증가이므로 이 루프에서는 명시적 증가 작업이 필요하지 않습니다. 루프 변수는 암묵적으로 선언되므로 선언할 필요가 없습니다.

FOR <loop_variable> in <lower_limit> .. <higher_limit> 
LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;

구문 설명:

  • 위 구문에서 'FOR' 키워드는 루프의 시작을 표시하고 'END LOOP'는 루프의 끝을 표시합니다.
  • 루프 변수는 실행 부분을 실행하기 전에 매번 평가됩니다.
  • 실행 블록에는 실행해야 하는 모든 코드가 포함되어 있습니다. 실행 부분에는 모든 실행 문이 포함될 수 있습니다.
  • loop_variable은 전체 루프가 실행되는 동안 암시적으로 선언되며, 이 loop_variable의 범위는 이 루프 내부에만 있습니다.
  • 루프 변수가 범위를 벗어나면 제어는 루프에서 종료됩니다.
  • lower_limit 앞에 키워드 'REVERSE'를 추가하면 루프가 역순으로 작동하도록 만들 수 있습니다.

예제 1: 이 예제에서, 우리는 FOR 루프 문을 사용하여 1에서 5까지의 숫자를 출력할 것입니다. 이를 위해, 우리는 다음 코드를 실행할 것입니다.

Oracle PL/SQL FOR 루프

BEGIN
dbms Qutput.put linef.Prp.gram started.' );
FOR a IN 1 .. 5
LOOP
dbms_output.put_line(a);
END LOOP:
dbms_output.put_iine('Program completed.'); 
END;
/

코드 설명 :

  • 코드 라인 2: "프로그램 시작됨"이라는 문구를 인쇄합니다.
  • 코드 라인 3: 키워드 'FOR'은 루프의 시작을 표시하고 loop_variable 'a'가 선언됩니다. 이제 1부터 5까지의 값을 갖습니다.
  • 코드 라인 5: 'a' 값을 인쇄합니다.
  • 코드 라인 6: 'END LOOP' 키워드는 실행 블록의 끝을 표시합니다.
  • 5행의 코드는 'a'가 값 6에 도달할 때까지 계속 실행됩니다. 조건이 실패하고 제어가 루프에서 종료되기 때문입니다.
  • 코드 라인 7: "프로그램 완료" 문구 인쇄

중첩 루프

루프 문은 중첩될 수도 있습니다. 외부 루프와 내부 루프는 다른 유형일 수 있습니다. 중첩 루프에서는 외부 루프의 모든 반복 값에 대해 내부 루프가 완전히 실행됩니다.

중첩 루프

LOOP -outer
<execution block starts>
LOOP — inner
<execution_part> 
END LOOP; 
<execution_block_ends> 
END LOOP;

구문 설명:

  • 위 구문에서 외부 루프에는 내부에 루프가 하나 더 있습니다.
  • 루프는 모든 유형이 될 수 있으며 실행 기능 부분은 동일합니다.

예제 1: 이 예제에서, 우리는 FOR 루프 문을 사용하여 1에서 3까지의 숫자를 출력할 것입니다. 각 숫자는 값의 횟수만큼 출력될 것입니다. 이를 위해, 우리는 다음 코드를 실행할 것입니다.

중첩 루프

중첩 루프

DECLARE 
b NUMBER;
BEGIN
dbms output put line(‘Program started' );
FOR a IN 1..3 
LOOP
b:=1;
WHILE (a>=b)
LOOP
dbms output put line(a);
b:=b+1;
END LOOP;‭	
END LOOP;‭	‬
dbms_output.put_line('Program completed' );
END;
/

코드 설명 :

  • 코드 라인 2: 변수 'b'를 'NUMBER' 데이터 유형으로 선언합니다.
  • 코드 라인 4: "프로그램 시작됨"이라는 문구를 인쇄합니다.
  • 코드 라인 5: 키워드 'FOR'은 루프의 시작을 표시하고 loop_variable 'a'가 선언됩니다. 이제 1부터 3까지의 값을 갖습니다.
  • 코드 라인 7: 매번 'b' 값을 '1'로 재설정합니다.
  • 코드 라인 8: 안의 while 루프 a>=b 조건을 확인합니다.
  • 코드 라인 10: 위의 조건이 만족되는 한 'a'의 값을 출력합니다.
  • 코드 라인 14: "프로그램 완료" 문구 인쇄

제품 개요

고리 FOR 루프
종료 기준 카운터가 한도에 도달하면 종료
용법 실행할 루프 횟수를 알고 있을 때 사용하면 좋습니다.