读书人

Oracle结构数据(二)

发布时间: 2012-07-30 16:19:05 作者: rapoo

Oracle构造数据(二)
#主函数体

$time=getsystime();
open AA, ">./$tablename$time.txt"|| die "Open File Error.";

for($j=1;$j<=$totalnum;$j++)
{
#随机取值范围
my $ballot_id = getrandnum(1,100000); --从1 到 100000中随机取一个值
my $option_id = getrandnum(1,10000000); --从1 到 10000000中随机取一个值
my $msisdn = getrandnum(13700000001,13900000001); --从13700000001 到13900000001中随机取一个值作为手机号

#随机时间
my $ballot_time = getrandtime(); --从2010-01-01 00:00:00 到2014-12-31 23:59:59之间随机取一个时间作为ballot_time字段的值

#枚举类型
my $type_id = $type_id[int rand @type_id]; --从"N1","N2","N3","N4","N5","N6","N7","N8","N9","N10","N11","N12"等数据中随机取一个枚举数据作为type_id的值

#随机字符取值
if ( $j%500 == 1 )
{
$source_name = getrandchar(500); --随机生成500个字符
}
my $bookname = substr($source_name, getrandnum(1,200), 5); --从1至200位中随机取一个起始位置开始往后取5个字符作为书名
my $charptername = substr($source_name, getrandnum(1,100), 15); --从1至100位中随机取一个起始位置开始往后取15个字符作为章节名

#序列
my $sequence_id = 10000 + $j; --从1000开始往后递增1生成序列值

printf AA "$sequence_id|$ballot_id|$option_id|$msisdn|$ballot_time|$bookname|$charptername|$type_id\n"; --输出一条记录,各字段以"|"分隔
}

close AA;

$escapetime=getsystime() - $time;
print "Finish! escapetime = $escapetime s \n";
第三步、把该脚本保存后上传至linux操作系统服务器上

第四步、进行赋权操作

chmod 777 script.sh

第五步、执行该脚本

./script.sh


第六步、找到生成的文件

第七步、编辑SQLLOAD

vi load.ctl

LOAD DATA
INFILE 'test20100424114210.txt' --文件名替换成生成的文件名
append
INTO TABLE us_present_record
FIELDS TERMINATED BY '|'
(
sequence_id,
ballot_id,
option_id,
msisdn,
ballot_time "to_date(:ballot_time,'''yyyy-mm-dd hh24:mi:ss''')",
bookname,
charptername,
type_id
)

第八步、执行命令进行入库操作

sqlldr 用户名/密码 control=load.ctl --load.ctl是控制文件的文件名

读书人网 >其他数据库

热点推荐