728x90

05 11, 2010 11:03

DB Table에 난수(Random)값 입력하기

Posted by kimstar Posted in " DATABASE "


통계성 DB Table을 보는 프로그램을 작성시..

입력값이 없어서 개발을 못할경우 랜덤값으로 입력해주는 PL/SQL 입니다.


begin 

for i in 1 .. 100

loop 

insert into s_scpi values 

(

TO_CHAR(sysdate+1/(24*60)*i, 'yyyymm'),   -- s_yyyymm            varchar2(6)  

TO_CHAR(sysdate+1/(24*60)*i, 'dd'),       -- s_dd                varchar2(2)  

TO_CHAR(sysdate+1/(24*60)*i, 'HH24'),     -- s_hh                varchar2(2)  

TO_CHAR(sysdate+1/(24*60)*i, 'MI'),       -- s_mi                varchar2(2)  

'smsg1a',                                 -- system_name         varchar2(16) 

'test_'||dbms_random.string('L', 1),      -- scpi_name           varchar2(16) 

rpad(ABS(dbms_random.random),1),          -- entity_id           number(7)    

rpad(ABS(dbms_random.random),4),          -- scp_request         number(7)    

rpad(ABS(dbms_random.random),4),          -- scp_request_rsp     number(7)    

rpad(ABS(dbms_random.random),4),          -- scp_request_succ    number(7)    

rpad(ABS(dbms_random.random),4),          -- scp_request_fail    number(7)    

rpad(ABS(dbms_random.random),4),          -- scp_cancel          number(7)    

rpad(ABS(dbms_random.random),4),          -- scp_cancel_rsp      number(7)    

rpad(ABS(dbms_random.random),4),          -- scp_cancel_succ     number(7)    

rpad(ABS(dbms_random.random),4)           -- scp_cancel_fail     number(7)    

); 

end loop;

commit; 

end; 

/

--------------------------------------------


dbms_random.string('U', 5)  ->   대문자로 5개의 랜덤한 글자 만들기 ( 이름 만들기 힘들어서-_-;)

dbms_random.value(1,9)  ->  1~9까지 난수 발생으로

abs(rpad(dbms_random.random,4))  -> 랜덤한 숫자 4자리 발생

sysdate+1 : 현재+1일

sysdate+1/(24*60)*10 : 현재+10분 

sysdate+1/(24*60)*i -> 현재시간+i분



반응형

'DataBase > Oracle' 카테고리의 다른 글

Select Interval  (0) 2015.10.05
테이블단위 백업과 복구  (0) 2015.10.05
오라클 기동과 정지  (0) 2015.10.05
옵티마이저(Optimizer) 최적화  (0) 2015.10.05
TableSpace 조회하고 생성하기  (0) 2015.10.05

+ Recent posts