Day45 - 프로시저, 매개변수OUT, IN OUT, RETURN

2021. 4. 19. 11:30Oracle 공부

이번에는 프로시저를 이용해서 값(데이터)을 밖으로 내보내는 OUT과 값을 입력받기도 하고, 밖으로 내보내기도 하는 IN OUT, 프로시저를 강제 종료하는 RETURN에 대해서 알아 봅시다.

 

OUT

매개변수를 받을 때, IN 이라는 걸 썻죠?

 

매개변수를 밖으로 내보낼 때 ( 데이터를 외부에 저장할 때) OUT을 사용합니다.

 

어떻게 사용하는지 한번 봅시다.

 

 

PROCEDURE 프로시저명 다음에 () 안에 OUT 변수를 선언하면 됩니다.

그리고, OUT 을 사용했다면 프로시저를 사용할 때 익명블록 안에서 사용해 주셔야 합니다.

익명블록은, DECLARE BEGIN END 입니다.

즉. OUT의 자리에 변수를 하나 넣어주면, 변수에 값이 저장이 되는 겁니다.

※ STR 이라는 변수에 값이 저장되었습니다.

IN OUT

IN OUT 은, IN과 OUT의 기능을 같이 할 수 있는 매개변수 입니다.

OUT이 들어가기 때문에, 익명블록에서 실행을 시켜줘야 합니다.

실행결과를 보면, P_VAR2의 값은 아무것도 나오지 않음을 확인 할 수 있는데, 그 이유로는 OUT 변수는 프로시저가 끝나기 전에 값이 할당되지 않기 때문이며,

P_VAR1 에 값을 저장하려고 할 경우 오류가 발생하는데, 그 이유는 P_VAR1이 IN 변수이기 때문입니다.

 

RETURN

프로시저 에서 RETURN 을 만나면, 프로시저의 강제종료를 의미합니다.

JAVA에서의 void메서드에 return; 과 같습니다. ( 아래 구문을 실행하지 말고, 그냥 종료해라 )

 

오늘은 이렇게, 매개변수 중에 OUT, IN OUT . 프로시저 강제종료 RETURN 에 대해서 알아 보았습니다.

 

고생하셨습니다.