oracle

이름 생성 함수

함수생성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
CREATE OR REPLACE FUNCTION NH_CAP.GET_KORNM
(
    
    V_FROM  IN    VARCHAR2,
    V_TO    IN    VARCHAR2
           
)
RETURN VARCHAR2
IS
    
    OUT_REAL_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_LAST  :=  V_ARR('김' , '이' , '박' , '최' , '정'
                    , '강' , '조' , '윤' , '장' , '임'
                    , '오' , '한' , '신' , '서' , '권'
                    , '황' , '안' , '송' , '유' , '홍'
                    , '전' , '고' , '문' , '손' , '양'
                    , '배' , '조' , '백' , '허' , '남');
                     
    V_MID   :=  V_ARR('민' , '현' , '동' , '인' , '지'
                    , '현' , '재' , '우' , '건' , '준'
                    , '승' , '영' , '성' , '진' , '준'
                    , '정' , '수' , '광' , '영' , '호'
                    , '중' , '훈' , '후' , '우' , '상'
                    , '연' , '철' , '아' , '윤' , '은');
                    
    V_FIRST :=  V_ARR('유' , '자' , '도' , '성' , '상'
                    , '남' , '식' , '일' , '철' , '병'
                    , '혜' , '영' , '미' , '환' , '식'
                    , '숙' , '자' , '희' , '순' , '진'
                    , '서' , '빈' , '정' , '지' , '하'
                    , '연' , '성' , '공' , '안' , '원');              
    
    SELECT SUBSTR(V_LAST(ROUND(DBMS_RANDOM.VALUE(1 , 30), 0)) || 
                  V_MID(ROUND(DBMS_RANDOM.VALUE(1 , 30), 0)) ||
                  V_FIRST(ROUND(DBMS_RANDOM.VALUE(1 , 30), 0)) ||
                  V_MID(ROUND(DBMS_RANDOM.VALUE(1 , 30), 0)) ||
                  V_FIRST(ROUND(DBMS_RANDOM.VALUE(1 , 30), 0))
                 ,V_FROM,V_TO)
      INTO OUT_REAL_NM
      FROM DUAL;
   
    
    RETURN OUT_REAL_NM;
    
END;
/
 
cs

 

함수호출

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DECLARE
 
    V_OUTPUT VARCHAR2(200);
 
BEGIN
 
    for i in 1 .. 100 LOOP
 
    V_OUTPUT := GET_KORNM(1,3
    --1글자부터 3글자까지 생성(3글자이름) ex)GET_KORNM(1, 2)면 2글자이름, 2,3이면 2글자인데 성대신 2번째 글자와 3번째 글자로출력
    DBMS_OUTPUT.PUT_LINE(V_OUTPUT);
    
    END LOOP;
 
END;
 
cs
,

최근 댓글

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

태그

링크

카운터

Today :
Yesterday :
Total :