LOOP문 문법
- – EXIT 문이 사용되었을 경우, 무조건 LOOP문을 빠져나간다.
- – EXITH WHEN 이 사용될 경우 WHEN 절에 LOOP를 빠져 나가는 조건을 제어 할 수 있다.
LOOP문 예제
-- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용 SQL> SET SERVEROUTPUT ON ; SQL> DECLARE v_cnt NUMBER := 100; BEGIN DBMS_OUTPUT.ENABLE ; LOOP INSERT INTO emp(empno, ename , hiredate) VALUES(v_cnt, 'test'||to_char(v_cnt), sysdate); v_cnt := v_cnt+1; EXIT WHEN v_cnt > 110; END LOOP; DBMS_OUTPUT.PUT_LINE('데이터 입력 완료'); DBMS_OUTPUT.PUT_LINE(v_cnt-100 || '개의 데이터가 입력되었습니다'); END; / 데이터 입력 완료 11개의 데이터가 입력되었습니다
WHILE LOOP문 예제
WHILE LOOP문은 FOR문과 비슷하며, 조건이 TRUE일 경우 만 반복되는 LOOP문 이다.
SQL> DECLARE v_cnt number := 100; BEGIN DBMS_OUTPUT.ENABLE; WHILE v_cnt < 110 LOOP INSERT INTO emp(empno, ename , hiredate) VALUES(emp_seq.nextval, 'test', sysdate); v_cnt := v_cnt+1; EXIT WHEN v_cnt > 110; END LOOP; DBMS_OUTPUT.PUT_LINE('데이터 입력 완료'); DBMS_OUTPUT.PUT_LINE(v_cnt-100 || '개의 데이터가 입력되었습니다'); END; /