콘텐츠로 이동

DBMS RANDOM

DBMS_RANDOM#

DBMS_RANDOM 패키지는 임의의 숫자를 생성한다. DBMS_RANDOM 패키지를 구성하는 프로시저와 함수는 아래의 표와 같이 제공한다.

프로시저 및 함수 설명
INITIALIZE 패키지 초기화
SEED 주어진 값이나 문자열을 시드(seed)로 설정
STRING 임의의 문자열 생성
VALUE 주어진 범위 내에서 임의의 값을 생성
RANDOM 임의의 숫자를 생성한다.

INITIALIZE#

DBMS_RANDOM 패키지를 초기화하는 프로시저이다.

구문#

DBMS_RANDOM.INITIALIZE(val IN INTEGER);

파라미터#

이름 입출력 데이터 타입 설명
val IN INTEGER 시드로 설정된 값

결과값#

저장 프로시저이므로 결과값을 반환하지 않는다.

예외#

예외를 발생시키지 않는다.

SEED#

주어진 값이나 문자열을 시드(seed)로 하여 임의의 시퀀스 값을 생성하는 프로시저이다.

구문#

DBMS_RANDOM.SEED(seedval IN INTEGER);
DBMS_RANDOM.SEED(seedval IN VARCHAR(2000));

파라미터#

이름 입출력 데이터 타입 설명
seedval IN INTEGER 또는 VARCHAR(2000) 시드로 설정할 값 또는 문자열

결과값#

저장 프로시저이므로 결과값을 반환하지 않는다.

예외#

예외를 발생시키지 않는다.

STRING#

임의의 문자열을 생성한다.

구문#

DBMS_RANDOM.STRING(opt IN CHAR, len IN NUMBER);

파라미터#

이름 입출력 데이터 타입 설명
opt IN CHAR 생성할 문자열.
len IN NUMBER 생성할 문자열의 길이

설명#

opt에는 아래의 파라미터 중 하나를 명시할 수 있다.

  • 'u', 'U' : 임의의 대문자 알파벳 생성

  • 'l', 'L' : 임의의 소문자 알파벳 생성

  • 'a', 'A' : 대소문자를 구문하지 않고 임의의 알파벳 생성

  • 'x', 'X' : 대문자 알파벳과 숫자를 생성

  • 'p', 'P' : 출력할 수 있는 모든 문자열 생성

len(gth)에는 임의로 생성할 문자열의 길이를 명시하며, 0~4000까지 입력이 가능하다.

결과값#

저장 프로시저이므로 결과값을 반환하지 않는다.

예외#

예외를 발생시키지 않는다.

VALUE#

주어진 범위 내에서 임의의 값을 생성하는 프로시저이다. 범위가 지정되지 않으면, 0~1 사이의 임의의 숫자를 반환한다.

구문#

NUMBER variable := DBMS_RANDOM.VALUE(low IN NUMBER, high IN NUMBER);

파라미터#

이름 입출력 데이터 타입 설명
low IN NUMBER 임의의 값을 생성할 범위의 최솟값
high IN NUMBER 임의의 값을 생성할 범위의 최댓값

결과값#

저장 프로시저이므로 결과값을 반환하지 않는다.

예외#

예외를 발생시키지 않는다.

RANDOM#

이 함수는 임의의 정수형 값을 생성하는 프로시저이다.

구문#

DBMS_RANDOM. RANDOM();

파라미터#

없음

결과값#

성공적으로 수행하면 임의의 정수값을 반환한다.

예외#

예외를 발생시키지 않는다.

예제#

임의의 숫자를 출력한다.

iSQL> select dbms_random.random() from dual;