본문 바로가기
IT/Database

프로시져와 함수의 차이

by 성준하이 2023. 1. 6.
반응형

데이터베이스에서 자주 접하는 프로시져와 함수가 있다.

이 둘의 차이와 정의를 알아볼 포스팅이다.

 

프로시져란?

넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다.

예를들어 계좌 송금이라면

1. 상대방 계좌를 입력하고

2. 내 계좌에 금액이 충분한지 확인하고

3. 내 계좌에서 돈이 빠지고

4. 상대방 계좌로 돈이 입금 되는

이런 순서가 있다.

이처럼 프로세스를 절차적으로 기술이 된것을 프로시저라고 한다.

 

함수란?

프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라고 한다.

예를들어 내 계좌에 금액이 충분한지 체크 등 이런 기능들이 함수가 된다.

 

문법의 차이는 다음과 같다.

프로시저 문법

CREATE OR REPLACE PROCEDURE 프로시저 이름
     ( 매개변수명1 [ IN || OUT || INOUT ] 데이터타입,
       매개변수명2 [ IN || OUT || INOUT ] 데이터타입 ... )
IS||AS
       변수, 상수 등 선언 ( 선언부 )
BEGIN
       실행 문장 ( 실행부 )
       EXCEPTION 문장   //필수아님
END ;

함수 문법

CREATE OR REPLACE FUNCTION 함수 이름
     ( 매개변수명1 매개변수1타입,
       매개변수명2 매개변수2타입 ... )
RETURN 데이터타입
IS||AS
       변수, 상수 등 선언 ( 선언부 )
BEGIN
       실행 문장 ( 실행부 )
       RETURN 반환값    //필수
       EXCEPTION 문장   //필수아님
END ;

둘의 차이는 아래 그림과 같다.

반응형

'IT > Database' 카테고리의 다른 글

NVL함수  (9) 2023.01.15
[Oracle] case 문  (10) 2023.01.12
트랜잭션 격리 수준(isolation level)  (15) 2022.12.31
[Oracle] Decode 함수  (42) 2022.11.18
[Mysql] 스토리지 엔진 MYISAM / INNODB  (26) 2022.11.05

댓글