개발햄비

[DB]PL/SQL 프로시저 기초-기본 문법 2 본문

개발/DB

[DB]PL/SQL 프로시저 기초-기본 문법 2

개발햄 2019. 6. 26. 17:24

이전 내용

2019/06/26 - [개발/DB] - [DB]PL/SQL 프로시저 기초-기본 문법 1

 

[DB]PL/SQL 프로시저 기초-기본 문법 1

1.기본 문법 CREATE OR REPLACE PROCEDURE 프로시저이름 IS --프로시저 내에서 사용할 변수 변수이름 데이터타입; 변수이름 데이터타입; BEGIN 기능 구현,처리 작성; END; 다음은 기본 프로시저의 예제입니다. cre..

blog-han.tistory.com

 

5. FOR LOOP 반복

 

* 사용문법 

-- 단순 반복

5-1.FOR
 반복문 사용할 변수 (number 형)  --DECLARE에서 정의 x
     IN [반복 시작 NUM] .. [반복 끝낼 NUM] LOOP 
       처리내용
     END LOOP; 

 

5-2.

select 이용 . 테이블 index 만큼 반복
FOR  [반복문에서 사용할 변수]
IN 
 ( 테이블 ) LOOP 
   처리 내용
END LOOP; 

 

 

create or replace PROCEDURE FOR_LOOP_TEST
IS
    START_MESSAGE VARCHAR2(100) := '------test_START----------';
    END_MESSAGE VARCHAR2(100) := '-------test_END------------';
    TYPE ename_Table_Type IS TABLE OF emp.ename%TYPE 
    INDEX BY BINARY_INTEGER; 

    i BINARY_INTEGER := 0;
    ename_Table ename_Table_Type;

BEGIN
    DBMS_OUTPUT.PUT_LINE(START_MESSAGE);

    -- select응용
    FOR tableData IN (SELECT * FROM EMP) LOOP
        i := i+1;
        ename_Table(i):=tabledata.ename;
        DBMS_OUTPUT.PUT_LINE(ename_Table(i));
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('----------------'); 
    
    -- 기본 for문
    FOR num IN 1..10 LOOP 
    DBMS_OUTPUT.PUT_LINE(ename_table(num)); 
    END LOOP;  

    DBMS_OUTPUT.PUT_LINE(END_MESSAGE);
END;

출력

------test_START----------
KING
BLAKE
CLARK
JONES
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER

----------------
KING
BLAKE
CLARK
JONES
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
-------test_END------------

'개발 > DB' 카테고리의 다른 글

[DB]PL/SQL 프로시저 기초-기본 문법 3정리(%rowtype)  (0) 2019.07.02
[DB]PL/SQL 연습하기  (0) 2019.06.27
[DB]PL/SQL 프로시저 기초-기본 문법 1  (0) 2019.06.26
[DB] PL/SQL 란?  (0) 2019.06.19
[DB] VARCHAR 와 CHAR 차이  (1) 2019.03.27