> For the complete documentation index, see [llms.txt](https://docs.tibero.com/tibero-manuals/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/tibero-manuals/7.2.6.manuals/external-procedure-guide/introduction-to-external-procedures.md).

# External Procedure 소개

Tibero에서 제공하는 External Procedure를 간략히 소개합니다.

## 개요

**External Procedure**는 DBMS의 SQL이나 PSM 등으로는 구현하기 어렵거나 구현할 수 없는 것을 C나 Java 프로그래밍 언어로 개발하여 이것을 마치 PSM 함수(또는 프러시저)인 것처럼 DBMS 내에서 사용할 수 있는 기능입니다.

사용자는 이 기능을 이용하여 직접 작성한 공유 라이브러리를 필요한 순간에 DBMS 내에서 사용할 수 있다. 그뿐만 아니라 처리 결과까지 전달받을 수 있습니다.

예를 들면 External Procedure는 다음과 같은 목적에 사용할 수 있습니다.

* DBMS 내에 특정 이벤트가 발생한 경우 이메일, SMS, 네트워크 등으로 알릴 때
* 디스크 전체나 특정 파일의 크기에 따라 특정 파일을 압축하거나 외부 디스크로 이동시키고 싶을 때
* 데이터에 암호화를 적용하고 싶을 때

## 생성 유형

Tibero에서는 C나 Java 프로그래밍 언어를 이용하여 External Procedure를 생성할 수 있습니다.

* C External Procedure
  * 동작 과정
  * 생성 절차
  * 사용 예제
* Java External Procedure
  * 동작 과정
  * 생성 절차
  * 사용 예제
