CREATE OR REPLACE PROCEDURE ADJDK.TEST10(V_SU IN NUMBER) --선언문(매개변수)
IS
IN_SU NUMBER(3) NOT NULL := 1;
NOT_ONE_ERROR EXCEPTION; --에러를 정의합니다.
BEGIN
DBMS_OUTPUT.PUT_LINE(IN_SU);
FOR cnt IN (SELECT * FROM BOARDTABLE ORDER BY B_DATE ASC) LOOP --FOR문을 조건은 쿼리입니다.
DBMS_OUTPUT.PUT_LINE('현재 값은'||cnt.B_NUM||'입니다.');
END LOOP;
--cnt는 변수 IN 시작값..끝나는 값입니다.(밑에 매개변수대로 하면 1부터 3까지합니다.)
FOR cnt IN 1..V_SU LOOP --FOR문을 도는 조건은 NUMBER형 변수입니다.
DBMS_OUTPUT.PUT_LINE('현재값은 '||cnt||'입니다.(LOOP)');
END LOOP;
EXCEPTION --에러 시작
WHEN NOT_ONE_ERROR THEN --해당 에러라면 밑에 구문처리합니다.
DBMS_OUTPUT.PUT_LINE('입력한 숫자는 1이 아닙니다.');
WHEN OTHERS THEN --다른 에러라면 밑에 구문을 처리합니다.
DBMS_OUTPUT.PUT_LINE('예외발생');
END TEST10; --프로시저 마침
/
EXEC TEST10(3); --실행구문
'DATABASE > ORACLE' 카테고리의 다른 글
ORACLE Error : ORA-12519, Error preloading the connection pool, no appropriate service handler found (0) | 2019.03.28 |
---|---|
ORACLE PROCEDURE 쿼리 COMMIT 또는 ROLLBACK (0) | 2017.02.16 |
ORACLE WHILE문과 LOOP문 (0) | 2017.02.16 |
ORACLE 프로시저 IF문과 EXCEPTION처리방법 (0) | 2017.02.16 |
ORACLE PLSQL (0) | 2017.02.12 |