1. Function (함수)

- 값을 계산한 후 결과값을 반환하기 위해 주로 사용

- 프로시져와의 차이점

  ㄱ) IN 파라미터만 사용 가능

  ㄴ) 반환될 데이터 타입을 반드시 RETURN문에 선언해야 함 (값 없이는 RETURN문을 포함할 수 없음)

  ㄷ) PL / SQL 블록 내에서 RETURN문을 통해 반드시 값을 반환해야 함

- 코딩을 클라이언트 상에서 함

  (화면단~클라이언트~에서 함수에게 값을 호출하면, 함수는 서버에서 필요한 값들을 가지고 와

   함수 내에서 작업하여 얻어낸 값을 호출했던 클라이언트에게 넘겨줌

 

 

2. Procedure (프로시져)

- 지정된 특정 처리를 시행하는 서브 프로그램의 한 유형

- 단독으로 실행되거나, 다른 프로시져나 다른 틀 또는 다른 환경 등에서 호출되어 실행됨

- 처음 생성 후 컴파일 할 때 오브젝트로서 데이터베이스 내에에 저장되며

  이후로 반복적으로 호출되어 실행 될 때 별도의 컴파일 없이 생성된 코드로 바로 실행

- 명칭이 있는 PL / SQL 블록

- 매개 변수를 받을 수 있고, 반복적으로도 사용 가능

- 보통은 연속 실행, 구현이 복잡한 트랜잭션을 수행하는 PL / SQL 블록을 DB에 저장하기 위해 생성

- 코딩을 서버(DB)상에서 함

  (화면단~클라이언트~에서 프로시져에게 값을 호출하면, 프로시져는 받은 값을 가지고

  서버에서 작업하여 얻어낸 값을 호출했던 클라이언트에게 넘겨줌)

- 값 없이 RETURN문을 포함할 수 있음

- 함수보다 속도가 빠름

 

 

3. Package (패키지)

- Oracle DB에 저장되어 있는, 서로 관련 있는 PL / SQL 프로시져, 함수의 집합

- 선언부 / 본문. 두 부분으로 나눠짐

 

* Package > Procedure > Function

+ Recent posts