반응형
oracle 랜덤 이름 조회
db에서 랜덤 이름, 명칭 또는 랜덤 url 생성 등등으로 사용할 경우 사용합니다.
저는 함수로 만들어 사용합니다.
랜덤 한글 이름 query
- V_FIRST, V_LAST, V_LAST 배열 문자열에 나오는 단어가 랜덤으로 출력됩니다.
- ARRAY 문자열에 문자를 더 추가하여 다양한 이름을 생성할 수 있습니다.
- STBSTR 문자열 자르는 함수로 랜덤 V_ARR를 추가하여 랜덤 문자열을 더 늘릴 수 있습니다.
- V_ARR를 추가하고 FN_KORNM(0,3) 숫자를 수정하여 출력 문자 수를 조절할 수입니다.
- 아래 영문은 랜덤 7자리 출력입니다.
create or replace NONEDITIONABLE FUNCTION "FN_KORNM"
(
V_FROM IN VARCHAR2,
V_TO IN VARCHAR2
)
RETURN VARCHAR2
IS
OUT_NM VARCHAR2(100);
TYPE V_ARR IS TABLE OF VARCHAR2(10);
V_FIRST V_ARR;
V_LAST V_ARR;
V_MID V_ARR;
BEGIN
V_FIRST := V_ARR('김', '이', '박', '최', '정');
V_MID := V_ARR('민', '현', '동', '인', '지');
V_LAST := V_ARR('유', '화', '지', '민', '신');
SELECT SUBSTR(V_FIRST(ROUND(DBMS_RANDOM.VALUE(1, 5), 0))||
V_MID(ROUND(DBMS_RANDOM.VALUE(1, 5), 0))||
V_LAST(ROUND(DBMS_RANDOM.VALUE(1, 5), 0))
,V_FROM,V_TO)
INTO OUT_NM
FROM DUAL;
RETURN OUT_NM;
END;
한글 이름 조회
SELECT FN_KORNM(0,3) FROM DUAL
랜덤 영문 이름 7자리 query
CREATE OR REPLACE NONEDITIONABLE FUNCTION "FN_ENGNM"
(
V_FROM IN VARCHAR2,
V_TO IN VARCHAR2
)
RETURN VARCHAR2
IS
OUT_NM VARCHAR2(100);
TYPE V_ARR IS TABLE OF VARCHAR2(10);
V_1 V_ARR;
V_2 V_ARR;
V_3 V_ARR;
V_4 V_ARR;
V_5 V_ARR;
V_6 V_ARR;
V_7 V_ARR;
BEGIN
V_1 := V_ARR('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
V_2 := V_ARR('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
V_3 := V_ARR('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
V_4 := V_ARR('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
V_5 := V_ARR('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
V_6 := V_ARR('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
V_7 := V_ARR('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
SELECT SUBSTR(V_1(ROUND(DBMS_RANDOM.VALUE(1, 26), 0))||
V_2(ROUND(DBMS_RANDOM.VALUE(1, 26), 0))||
V_3(ROUND(DBMS_RANDOM.VALUE(1, 26), 0))||
V_4(ROUND(DBMS_RANDOM.VALUE(1, 26), 0))||
V_5(ROUND(DBMS_RANDOM.VALUE(1, 26), 0))||
V_6(ROUND(DBMS_RANDOM.VALUE(1, 26), 0))||
V_7(ROUND(DBMS_RANDOM.VALUE(1, 26), 0))
,V_FROM,V_TO)
INTO OUT_NM
FROM DUAL;
RETURN OUT_NM;
END;
영문 이름 조회
SELECT FN_ENGNM(0,7) FROM DUAL
반응형
'db > oracle' 카테고리의 다른 글
windows oracle on/off 자동 실행 (0) | 2024.06.06 |
---|---|
oracle limit offset test query (0) | 2024.02.10 |
egov 4.1 oracle 연결 (2) | 2024.02.08 |
oracle xml parsing (0) | 2024.02.06 |
oracle 계정 생성 및 링크연결 (0) | 2023.10.25 |