DATABASE/Oracle

[ORACLE] 프로시저(PROCEDURE) 생성, 호출

잇나우 2020. 2. 8. 00:05
반응형

특정한 로직을 수행하기만 하고 결과 값을 반환하지 않는 서브 프로그램이다. 보통 프로그래밍 언어의 function과 유사한 점이 있다. PL/SQL에서는 대표적으로 2가지의 서브 프로그램이 있는데, 함수(function)와 프로시저(procedure)이다. 프로시저로 생성한 로직은 DB안에 저장되기 때문에 DB내에서는 언제든지 프로시저를 실행하여 저장한 로직을 실행할 수 있는 장점이 있다.

프로시저 생성

CREATE OR REPLACE PROCEDURE 프로시저명
    (파라미터 [IN || OUT || IN OUT] 데이터타입...)
IS
    변수 선언, 값 대입
BEGIN
    코드
END;

파라미터와 같은 인자가 있어도 생성가능하고 없어도 생성가능하다. 파라미터가 있을시 반드시 파라미터의 데이터타입도 설정해주어야한다. IN은 입력을, OUT은 출력을, IN OUT은 입출력을 동시에 한다는 의미이다. 디폴트값은 IN으로 생략도 가능하다. OUT파라미터는 값을 할당해 프로시저 호출부분에서 이 값을 참조할 수 있다.

프로시저 호출

EXECUTE와 약자인 EXEC를 사용할수 있다.

EXEC 프로시저명(인자...);
반응형