各位大侠,小弟想给oracle 的一张表中批量插入2000万条数据,求方法。字段如下:
id, mac_adress其中id 是自动加一的, mac_adress 也是自动往上加的,
例如: 第一条记录 1, B0:EE:20:02:00:00
第二条记录 1, B0:EE:20:02:00:01
第三条记录 1, B0:EE:20:02:00:02
id, mac_adress其中id 是自动加一的, mac_adress 也是自动往上加的,
例如: 第一条记录 1, B0:EE:20:02:00:00
第二条记录 1, B0:EE:20:02:00:01
第三条记录 1, B0:EE:20:02:00:02
select levle id from dual connect by levle<=20000000mac_adress 地址怎么加
{
int iLen = 0;
if (NULL == pcSrc || 17 != (iLen = strlen(pcSrc)))
{
return -1;
} int i = iLen - 1;
while(-1 != i)
{
if ('9' == pcSrc[i])
{
pcSrc[i] = 'a' -1;
} if (('f' == pcSrc[i]) || (':' == pcSrc[i]))
{
if ('f' == pcSrc[i])
{
if (0 == i)
{
//break;
return -2;
} pcSrc[i] = '0';
i--;
}
else
{
//pcSrc[i] = '0';
i--;
}
}
else
{
pcSrc[i]++;
break;
}
} return 0;
}这个是mac 地址自动增加的函数
for n in 1.。 1000 loop
insert into
values (seq.nextval,pin_fun(to_char(n+seq.nextval,'XX') ));
end loop;n=B0:EE:20:02:00:00换成10进制。
pin_fun就是一个函数将字符串每两位加:
如substr(aa,1,2)||';'||substr(aa,3,2)
1、用datafactory连接你的数据库
2、id可以直接用序列,从1开始。 mac_adress利用字符串加数字:’B0:EE:20:02:00:‘+00(前面是字符串,后面是数字)
2000万条数据,两个字段,要不了多少时间。