[오라클 PL/SQL] 프로시저 RETURN 문 사용하기


안녕하세요.

 

오늘은 PL/SQL 에서 프로시저 RETURN 문 사용 방법에 대해서 알려드리려고 합니다.

 

함수에서 사용한 RETURN문을 프로시저에서도 사용할 수 있는데 그 쓰임새와 처리 내용은 다릅니다. 함수에서는 일정한 연산을 수행하고 결과 값을 반환하는 역할을 했지만, 프로시저에서는 RETURN문을 만나면 이후 로직을 처리하지 않고 수행을 바로 종료, 즉 프로시저를 빠져 나가 버리게 됩니다.

 

이전에 설명 드렸던 반목문에서 EXIT를 통해서 반목문을 빠져 나가는 것과 비슷합니다.

 

그럼 예제를 통해서 프로시저에 RETURN문을 한번 사용해 보도록 할게요.


 

RETURN 문이 있는 프로시저 생성


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

CREATE OR REPLACE PROCEDURE my_new_proc

(

p_school_no IN WIN.STUDENT.SCHOOL_NO%TYPE,

p_class IN WIN.STUDENT.CLASS%TYPE,

p_name IN WIN.STUDENT.NAME%TYPE,

p_age IN WIN.STUDENT.AGE%TYPE,

p_grade IN WIN.STUDENT.GRADE%TYPE,

p_score IN WIN.STUDENT.SCORE%TYpE

)

 

IS 

BEGIN

    --SCORE 점수가 0 보다 작은 값이 들어 오면 메시지 출력후 프로시저 빠져 나간다.

    IF TO_NUMBER(p_score) < 0 THEN

        DBMS_OUTPUT.PUT_LINE('최소 score 값은 0보다 커야 합니다.');

        RETURN; 

    END IF;

 

END;

Colored by Color Scripter

cs

 

위에서 생성한 프로시저를 간단히 설명 드리자면, STUDENT 테이블이 있는데 해당 테이블에 SCORE 컬럼이 있고 만약 SCORE 값이 0보다 작은 값을 입력하여 프로시저를 실행할 경우 RETURN 문을 실행하여 프로시저를 빠져 나오게 끔 구현한 프로시저 구문 입니다.

 

실행 결과


1

EXECUTE my_new_proc('2''2''한지민''38''2' ,'-1');

cs

 


 

이처럼, score 값에 -1 값을 넣고 my_new_proc 프로시저를 실행하니까 출력 값이 최소 score 값은 0보다 커야 합니다.” 라는 문구가 출력된 모습을 확인하실 수 있습니다.


 

이로써 프로시저에서 RETURN 문 사용 방법에 대해서 알아 보았습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY