오라클에서 자바 RANDOMUUID() 내장함수 쓰기
일단,
dba_registry 을 뒤져서 오라클에 JVM이 설치되어 있는지 확인한다.
select comp_name, version, status from dba_registry;
comp_name컬럼에 JServer JAVA Virtual Machine 이놈이 있다면 가능
없으면
sql> @$ORACLE_HOME/javavm/install/initjvm.sql; |
실행하거나
저 경로로 가서 해당 sql의 DDL을 직접 복붙해서 실행한다.
이건 안해봤음...
(참조)
어쨌든 JVM이 설치되어 있다면, 다음과 같은 SQL명령어를 먼저 실행한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
CREATE OR REPLACE AND COMPILE
java source named "RandomUUID"
as
public class RandomUUID {
public static String create() {
return java.util.UUID.randomUUID().toString();
}
}; |
정상적으로 실행이 완료되었다면,
이제 FUNCTION을 만들자.
1 2 3 4 5 6 7 |
CREATE OR REPLACE FUNCTION O_ONEMES.RandomUUID
RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'RandomUUID.create() return java.lang.String' ; |
이 함수를 만들었다면,
실행해보자
SELECT RANDOMUUID() FROM DUAL;
이런식의 결과값이 나올것이다.
ex) 8b636560-99dc-4c75-976b-56350f4f40ca
추가: 내장객체 쓰지 않고 랜덤 채번 함수 만들기
'Database' 카테고리의 다른 글
[간단] 오라클 INSTR 을 알아보자 (0) | 2020.09.22 |
---|---|
[초간단] 오라클 랜덤 키생성 방법 2가지 FUNCTION(함수) (1) | 2020.08.12 |
[눈에확] 프로시저 만들기 -쉽게 그리고 자세하게 (0) | 2020.08.11 |
[눈에확] 프로시저, 함수, 트리거, 커서 개념 (0) | 2020.08.11 |
[눈에확] 초간단 OVER() 함수를 이용한 PARTITION BY 이해 (0) | 2020.08.05 |