while 루프 인 Oracle 예제가 포함된 PL/SQL
PL/SQL While 루프란 무엇입니까?
While 루프 PL/SQL의 EXIT 조건이 루프의 시작 부분에 있다는 점을 제외하면 기본 루프 문과 유사하게 작동합니다. 실행 전에 종료 조건을 확인하므로 조건이 충족되는 경우에만 실행 블록이 실행되는 항목 확인 루프처럼 작동합니다.
매번 암시적으로 조건의 유효성을 검사하므로 루프를 종료하기 위해 명시적으로 'EXIT' 키워드가 필요하지 않습니다.
PL/SQL While 루프 구문
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- 위 구문에서 키워드 'WHILE'은 루프의 시작을 표시하고 'END LOOP'는 루프의 끝을 표시합니다.
- EXIT 조건은 실행 부분이 실행을 시작하기 전에 매번 평가됩니다.
- 실행 블록에는 실행해야 하는 모든 코드가 포함되어 있습니다.
- 실행 부분에는 모든 실행 문이 포함될 수 있습니다.
예 Oracle PL/SQL While 루프
이 예제에서는 WHILE 루프 문을 사용하여 1에서 5까지의 숫자를 인쇄합니다. 이를 위해 다음 코드를 실행합니다.
DECLARE a NUMBER :=1; BEGIN dbms_output.put_line('Program started'); WHILE (a <= 5) LOOP dbms_output.put_line(a); a:=a+1; END LOOP; dbms_output.put_line(‘Program completed' ); END: /
코드 설명 :
- 코드 라인 2: 변수 'a'를 'NUMBER' 데이터 타입으로 선언하고 값 '1'로 초기화합니다.
- 코드 라인 4: "프로그램 시작됨"이라는 문구를 인쇄합니다.
- 코드 라인 5: 키워드 'WHILE'은 루프의 시작을 표시하고 'a'의 값이 5보다 작거나 같은지 여부도 확인합니다.
- 코드 라인 7: 'a' 값을 인쇄합니다.
- 코드 라인 8: 'a' 값을 +1만큼 증가시킵니다.
- 코드 라인 9: 'END LOOP' 키워드는 실행 블록의 끝을 표시합니다.
- 7행과 8행의 코드는 조건이 TRUE를 반환하고 컨트롤이 종료되므로 'a'가 값 6에 도달할 때까지 계속 실행됩니다. 고리.
- 코드 라인 10: "프로그램 완료" 문구 인쇄
요약
고리 | WHILE 루프 |
---|---|
종료 기준 | 확인 조건이 false를 반환하면 종료됩니다. |
용법 | 루프 횟수를 알 수 없고 종료가 다른 조건에 기반할 때 사용하면 좋습니다. |