일단은 프로그래머 나부랭이

Procedure와 Function의 차이 (PL/SQL 관련) 본문

DBMS

Procedure와 Function의 차이 (PL/SQL 관련)

하필이면 도대체가 2016. 10. 27. 14:53

먼저 PL/SQL에 대하여 간단하게 집고 넘어가겠다.

PL/SQL이란, SQL로 처리하기 복잡한 데이터의 삽입, 삭제등을 보다 편리하게 하기 위하여 고안된것으로, 기본적으로 SQL을 이용하나, 전체적인 문법은 기존의 프로그래밍 언어와 유사하다고 한다.

(Ada라는 언어를 본따서 만들었다고 한다 - 위키백과 인용)


Procedure와 Function은 이래저래 실무에서 많이 이용된다.

둘다 PL/SQL을 이용하여 만들기 때문에 문법에 차이가 없다.

다만 명칭이 다른만큼 엄연히 차이가 있기에 그것에 대해 글을 써보려한다.


1. Procedure는 Return값이 없어도 되지만, Function은 Return값이 반드시 존재한다.

   (정확하게 말해서 Procedure는 Return값이 없거나 2개이상일수도 있지만, Function은 반드시 1개의 Return값이 존재합니다.)

2. Procedure의 처리 속도는 Function에 비해 빠르다.

   (Procedure는 서버단에서 값을 처리하지만, Function은 클라이언트단에서 처리한다고 합니다.)

3. Function은 Select문에서 호출이 가능하지만, Procedure는 Select문에서 호출이 불가능하다.


위와 같은 차이점 때문에 각 특성에 맞게 사용되어집니다.

하지만 문법은 둘다 똑같죠..

충분히 헷갈릴 수 있는만큼 용도에 맞는 정확한 사용이 필요하다고 생각됩니다.


Comments