article thumbnail image
Published 2022. 11. 25. 20:15

 < 반복문 >


  
   1) BASIC LOOP문
  

    LOOP 
       반복적으로 수행할 구문 ;
       *반복문을 빠져나갈 수 있는 구문*
   
    END LOOP;

   * 반복문을 빠져나갈 수 있는 구문 (2가지)
   1) IF 조건식 THEN EXIT; END IF;
   2) EXIT WHEN 조건식;

예시) 1부터 5까지 증가되는 값 출력

DECLARE 
    I NUMBER := 1;
BEGIN
    LOOP
      DBMS_OUTPUT.PUT_LINE(I);
      I := I+1;
      EXIT WHEN I = 6; --IF I = 6 THEN EXIT; END IF;
    END LOOP;
    
END;
/


     2) FOR LOOP문


    FOR 변수 IN[REVERSE] 초기값.. 최종값   
    LOOP
       반복적으로 실행할 구문;
    END LOOP;   

BEGIN
	FOR I IN REVERSE 1..5
    LOOP 
       DBMS_OUTPUT.PUT_LINE(I);
    END LOOP;
END;
/

 

   3) WHILE LOOP문


   WHILE 반복문이 수행될 조건 
   LOOP
     반복적으로 실행할 구문;   
   END LOOP;

DECLARE 
    I NUMBER := 1;
BEGIN
    WHILE I < 6
    LOOP
        DBMS_OUTPUT.PUT_LINE(I);
        I := I + 1;
    END LOOP;
END;

 

(반복문 활용 예시)

1) 게시판 테이블 생성 

CREATE TABLE BOARD
(
  BOARD_NO NUMBER PRIMARY KEY,
  BOARD_TITLE VARCHAR2(50) NOT NULL,
  BOARD_CONTENT VARCHAR2(4000)NOT NULL,
  GESIST_DATE DATE NOT NULL
);

2) 게시글 번호로 활용할 시퀀스 생성

CREATE SEQUENCE SEQ_BNO;

3) 100개의 게시글 반복문 사용하여 INSERT

BEGIN
	FOR I IN 1..100
    LOOP
      INSERT INTO BOARD
      VALUES(SEQ_BNO.NEXTVAL,'제목입니다'|| I , '내용입니다'||I,SYSDATE);
    END LOOP;
END;
/

>> 출력결과 1 ~100 개의 행 생성됨 

'ORACLE' 카테고리의 다른 글

ORACLE 14. OBJECT(TRIGGER)  (1) 2022.11.29
ORACLE 13. PLSQL _예외처리  (0) 2022.11.25
ORACLE 13. PLSQL _조건문  (0) 2022.11.25
ORACLE 12. OBJECT (SEQUENCE)  (0) 2022.11.25
ORACLE 11. OBJECT (VIEW) _ VIEW 옵션  (0) 2022.11.24
복사했습니다!