Programming/Oracle

랜덤 패스워드 만들기(오라클)

초록깨비 2022. 4. 14. 13:52
728x90

랜덤 패스워드 만들기

   . 6자리

   . 문자(알파벳 대,소문자 4자리) 포함

   . 숫자 1자리 포함(0~9사이)

   . 특수문자 1자리 포함(!@#$^&*)

 

 

STRING

OPTION 문자열 형태

U 혹은 u : 대문자 알파벳의 문자열
L 혹은 l  : 소문자 알파벳의 문자열
A 혹은 a : 대소문자 구분 없이 임의의 알파벳의 문자열
X 혹은 x : 임의의 대문자 알파벳 혹은 숫자의 문자열
P 혹은 p : 임의의 출력 가능한 문자들의 배열
LENGTH 문자열 길이

 

VALUE

  지정된 범위 내에서 임의의 숫자를 생성

  만약 범위가 지정되지 않는다면 기본값인 0과 1 사이의 숫자를 생성함

 

 

예제

 SELECT DBMS_RANDOM.STRING('a', 4)||trunc(DBMS_RANDOM.value(0,9))|| (select * from(
                                                                                        select *
                                                                                          from (
                                                                                                select '!' from dual
                                                                                                 union all
                                                                                                select '@' from dual
                                                                                                 union all
                                                                                                select '#' from dual
                                                                                                 union all
                                                                                                select '$' from dual
                                                                                                 union all
                                                                                                select '^' from dual
                                                                                                 union all
                                                                                                select '&' from dual
                                                                                                union all
                                                                                                select '*' from dual 
                                                                                                )
                                                                                         order by dbms_random.random)
                                                                                     where rownum = 1)

              into :tmp_new_pwd       
     from dual ; 

728x90