오라클 랜덤 키 생성 JAVA내장 함수 RAMDOMUUID() 이용하여 만들기
오라클에서 자바 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
추가: 내장객체 쓰지 않고 랜덤 채번 함수 만들기