JAVA_38_Procedure & Function_JDBC(오라클)

hyeong taek jo·2023년 7월 17일

JAVA

목록 보기
38/39

1.📌Procedure와 Function의 사용목적

  • 자바 나 C 로 말하자면 일종의 메소드() 다.
  • 예를들어서 Select문을 이용하여 어떠한 값을 가져오고 싶을 때, 그때마다 작성하는게 아닌 Procedure 또는 Function을 사용하여 가져오면 간단하게 된다.

2.📌Procedure와 Function의 차이점

1. 함수와 프로시저의 차이

  • 프로시저 또한 매개변수를 받아 여러 작업을 수행하여 값을 반환할 수 있고, 함수 또한 매개변수를 받아 여러 작업을 수행하여 값을 반환할 수 있습니다.
    하지만 함수와 프로시저가 똑같은 것은 아닌데요.
    지금부터 함수와 프로시저의 차이점에 대해서 나열하겠습니다.
  • 그런데 함수에서도 DML을 사용하지 못하는건 아닙니다. 가능하지만 잘 사용하지 않습니다.

2. 의미

프로시저

  • 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이며, 일련의 작업을 정리한 절차입니다.
  • 보통 단독으로 실행해야 할 작업을 위임받았을 때 사용합니다.

함수

하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합입니다. 즉, 함수가 여러 작업을 위한 기능이라면 프로시저는 작업을 정리한 절차입니다. 보통 로직을 도와주는 역할이며, 간단한 계산, 수치 등을 나타낼 때 사용합니다.

3.매개변수

프로시저

  • 매개변수를 입력,출력,입출력 형식으로 받을 수 있습니다.

함수

  • 매개변수를 입력 형식으로만 받을 수 있습니다.

4.반환값

프로시저

  • 반환값을 가질 수도 있고 가지지 않을 수도 있습니다.

함수

  • 반환값을 반드시 가져야 합니다.

5.쿼리문 내에서 실행가능

프로시저

  • SELECT,WHERE 문 등에서 사용 불가합니다.

함수

  • SELECT,WHERE 문 등에서 사용이 가능합니다.

6. 처리 장소

프로시저

  • 클라이언트(화면)에서 값을 건네받아 서버에서 작업을 한 뒤 클라이언트에게 전달합니다. 즉, 서버에서 실행이 되어 속도면에서 빠른 성능을 보여줍니다.

함수

  • 클라이언트(화면)에서 값을 건네 받고 서버에서 필요한 값을 가져와서 클라이언트에서 작업을 하고 반환합니다. 즉, 클라이언트(화면)에서 실행이 되어 프로시저보단 속도가 느립니다.
profile
마포구 주민

0개의 댓글