WHILE문
WHILE문은 지정된 조건이 참인 동안 명령문 또는 명령문 그룹의 실행을 반복합니다.
구문
설명
- label
WHILE문의 레이블을 지정합니다. 종료 레이블이 지정되면 시작 레이블과 동일해야 합니다. 라벨 이름은 루틴 이름, 고급 트리거 이름 또는 동일한 범위에 있는 다른 라벨과 같을 수 없습니다. 자세한 내용은 SQL PL에서 SQL 레이블에 대한 참조를 참조하세요.
- 검색 조건
- 각 루프의 실행 전 평가되는 조건을 지정합니다. 조건이 참이면 루프 내의 SQL 프로시저 문이 실행됩니다.
- SQL-프로시저-문
- WHILE 루프 내에서 실행될 명령문을 지정합니다. 이 문장은 SQL-procedure-statement(SQL PL) 에 나열된 문장 중 하나여야 합니다.
참고
진단 영역에 대한 고려 사항 : WHILE 문의 첫 번째 반복이 시작될 때와 그 이후의 모든 반복에서 진단 영역이 지워집니다.
SQLSTATE 및 SQLCODE SQL 변수에 대한 고려 사항 : WHILE 문의 각 반복에서 첫 번째 SQL-procedure-statement가 실행될 때, SQLSTATE 및 SQLCODE SQL 변수는 해당 WHILE 문의 검색 조건 평가 결과를 반영합니다. 루프가 GOTO, ITERATE 또는 LEAVE 문으로 종료되면, SQLSTATE와 SQLCODE 값은 해당 문이 성공적으로 완료되었음을 반영합니다. 그렇지 않으면, WHILE 문의 END WHILE이 완료된 후, SQLSTATE와 SQLCODE는 해당 WHILE 문의 검색 조건을 평가한 결과를 반영합니다.
예:
WHILE 문을 사용하여 테이블의 행을 가져오는 동안 테이블의 끝에 도달했는지 여부를 나타내는 SQL 변수 at_end 가 0인지 확인합니다.
WHILE at_end = 0 DO
FETCH c1 INTO
v_firstnme, v_midinit,
v_lastname, v_edlevel, v_salary;
IF SQLCODE=100 THEN SET at_end=1;
END IF;
END WHILE; 