본문 바로가기
DB/ORACLE

[oracle] 테스트 데이터 만들기

by 쑨s 2016. 2. 12.
728x90
반응형

[oracle] 테스트 데이터 만들기

 

개발을 하다보면 테스트 데이터가 필요할 때가 있다.

--> SELECT LEVEL AS ID
                  ,ROUND(DBMS_RANDOM.VALUE(1, 100),0) AS RAN
                 ,'123456ABC' || DBMS_RANDOM.STRING('U', 3)
                                    || SUBSTR('0000', 1, 4 - LENGTH(TRIM(LEVEL))) || LEVEL AS DATA1
      FROM DUAL
     CONNECT BY LEVEL <= 100 ;

 

RANDOM 함수를 사용하여 KEY중복을 방지하였다.

위의 쿼리를 응용하면...

--> INSERT INTO 테이블명 ( 필드1, 필드2, 필드3)
      SELECT LEVEL AS ID
                  ,ROUND(DBMS_RANDOM.VALUE(1, 100),0) AS RAN
                 ,'123456ABC' || DBMS_RANDOM.STRING('U', 3) 
                                    || SUBSTR('0000', 1, 4 - LENGTH(TRIM(LEVEL))) || LEVEL AS DATA1
      FROM DUAL
     CONNECT BY LEVEL <= 100 ;

 

 

위에서 사용한 랜덤함수를 살펴보자.

--> DBMS_RANDOM.VALUE(시작범위, 종료범위)

--> DBMS_RANDOM.STRING(규칙인자, 문자열길이)

U : 대문자로된 랜덤 문자생성

L : 소문자로된 랜던 문자생성

A : 대/소문자 + 숫자 로된 문자열 생성

X : 대문자 + 숫자 로된 문자열 생성

P : 출력가능한 문자로만

 

728x90
반응형

댓글