Java 저장 함수/프로시저를 작성하는 순서는 다음과 같다.
cubrid.conf에 있는 java_stored_procedure의 설정값은 no가 기본이다. Java 저장함수/프로시저를 사용하기 위해서는 이 값을 yes로 변경해야 한다. 이 값과 관련한 자세한 설명은 데이터베이스 서버 설정의 기타 파라미터를 참조한다.
다음과 같이 SpCubrid.java를 컴파일 한다.
public class SpCubrid{
public static String HelloCubrid() {
return "Hello, Cubrid !!";
}
public static int SpInt(int i) {
return i + 1;
}
public static void outTest(String[] o) {
o[0] = "Hello, CUBRID";
}
}
%javac SpCubrid.java
이 때, Java 클래스의 메소드는 반드시 public static이어야 한다.
컴파일된 Java 클래스를 CUBRID로 로딩한다.
% loadjava demodb SpCubrid.class
다음과 같이 CUBRID 저장 함수를 생성하여 Java 클래스를 등록한다.
csql> create function hello() return string
csql> as language java
csql> name 'SpCubrid.HelloCubrid() return java.lang.String';
다음과 같이 등록된 Java 저장 함수를 호출한다.
csql> call hello() into :Hello;
Result
======================
'Hello, Cubrid !!'