본문 바로가기

CS

[DB] Procedure(프로시저)와 Function(함수)의 차이

728x90

DB와 관련된 명령어를 작성하다보면 Procedure(프로시저)에 관한 이야기가 많이 나온다.

위키백과에서는 프로시저를 함수라고 명명하지만 세부적인 의미로는 구별되어서 사용되는데 그 차이를 알아보자.

 

프로시저(Procedure)의 개념 및 특징

  • 프로시저는 절차형 SQL문들을 활용하여 특정 기능을 수행할 수 있는 트랜잭션 언어다.
  • 프로시저는 DB에서 어떠한 업무를 수행하기 위한 절차라고 생각할 수 있다.
  • 프로시저는 호출을 통해 실행되며 API처럼 여러 어플리케이션들과 공유가 가능하다.
  • 특정한 기능을 변경하고자 할 때 프로시저만 변경하면 된다는 편리성이 있다.
  • 하나의 요청으로 여러 SQL문을 실행하여 네트워크의 부하를 줄일 수 있는 장점이 있다.
  • 프로시저의 사용을 추적 관리하기는 어려워 유지보수에 어려움이 있다.

프로시저의 개념을 보면 함수와 매우 유사하다. 함수의 개념과 특징을 알아보고 그 차이를 표로 나열해보자.

 

함수(Function)의 개념 및 특징

  • 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합이다.
  • 프로시저에서 정의하는 각각의 절차들을 수행하는 단위가 각각의 함수라고 할 수 있다.
  • 즉 로직을 구성하는 각 부분의 기능이라고 생각할 수 있다.

 

Procedure(프로시저)와 Function(함수)의 차이

프로시저 함수
특정한 작업을 수행한다. 특정한 계산을 수행한다.
리턴값을 가질 수도 있고 안가질 수도 있다. 리턴값을 반드시 가진다.
서버(DB)에서 기술한다. 화면(Client)에서 기술한다.
수식 내에서 사용이 불가능하다. 수식 내에서만 사용이 가능하다.
단독으로 문장 구성이 가능하다. 단독으로 문장 구성이 불가능하다.

 

함수는 프로시저를 포함하고 있는 개념이다.

특히 프로시저를 포함한 여러개의 함수들이 모여서 하나의 프로그램을 이루도록 하는 것을 절차지향적 프로그래밍이라고 한다.

 

 

참고사이트

https://benggri.tistory.com/76

 

[DB] 프로시저(Procedure)

프로시저(Procedure)의 개념 프로시저는 절차형 SQL 을 활용하여 특정 기능을 수행할 수 있는 트랜잭션 언어입니다. 프로시저는 호출을 통해 실행됩니다. 일련의 SQL 작업을 포함하는 데이터 조작어(

benggri.tistory.com

https://seohee-ha.tistory.com/125

 

[IT지식] 프로시저(PROCEDURE)란?

📌프로시저란 - DB 에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것이다. - 넓은 의미로 어떠한 업무를 수행하기 위한 절차를 뜻한다. - 쿼리문을 하나의 메

seohee-ha.tistory.com

 

728x90