땃지
ing
땃지
전체 방문자
오늘
어제
  • 분류 전체보기 (100)
    • 공부 (37)
      • Java (4)
      • Spring Boot (4)
      • 자료구조 (4)
      • CS (18)
      • JSP (6)
      • Git (1)
    • 문제 해결 (60)
      • 백준 (51)
      • 프로그래머스 (9)
    • 프로젝트 (3)
      • 당신의 안목 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Contact

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
땃지
공부/CS

[SQL] 프로시저 VS 함수

2022. 12. 20. 23:55

프로시저

일련의 쿼리를 하나의 함수처럼 일괄 처리 또는 실행하기 위한 쿼리의 집합

CALL 프로시저명()
EXECUTE 프로시저명()

 

특징

1. 하나의 요청으로 여러 개의 SQL문 실행 가능

2. 서버에서 실행되기 때문에 속도가 빠름

3. 리턴값이 있을수도 없을수도 있음 (IN 또는 OUT) → 유연함

4. 여러 개의 리턴값 가능 (OUT 여러 개)

5. 재사용성이 좋지 않다는 단점

 


함수

프로시저의 각 프로세스를 수행하기 위해 필요한 기능들

SELECT 함수명() FROM DUAL;

 

특징

1. 리턴값 필수

2. 클라이언트에서 실행되기 때문에 프로시저보다는 느림

 


프로시저와 함수의 차이

프로시저는 로직을 기술하여 업무 처리를 직접 하는 용도로 많이 사용된다.

함수는 로직을 도와주는 목적으로 사용된다.

예를 들어, 어떤 프로시저에 반복적으로 사용되는 기능이 있어 이를 모듈화 시키고자 할 때 함수로 만들어 현재 업무를 서포트해주는 방식으로 사용된다.

 

- 프로시저 : 서버에서 처리, 리턴값 선택, 여러 개의 리턴값 가능, 로직을 기술하여 직접 업무 처리하는 용도

- 함수 : 클라이언트에서 처리, 리턴값 필수, 리턴값 하나만 반환 가능, 기능 모듈화하여 업무 서포트하는 용도

 

 


Reference

https://blog.naver.com/PostView.naver?blogId=xhdtn8070&logNo=221235042612

https://intro0517.tistory.com/143

https://velog.io/@devjooj/Mysql-Function%EA%B3%BC-Procedure-%EC%B0%A8%EC%9D%B4

저작자표시 비영리 변경금지 (새창열림)
    '공부/CS' 카테고리의 다른 글
    • TCP / UDP
    • JSON
    • 동기 / 비동기 방식
    • [SQL] INNER JOIN / OUTER JOIN
    땃지
    땃지

    티스토리툴바