PL/SQL 批量插入2000万条数据

hurry281 2013-12-02 01:45:57
各位大侠,小弟想给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
...全文
1125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
寡丶人 2016-03-10
  • 打赏
  • 举报
回复
有一款在数据的工具,datafactory,可以轻松解决你的问题。 1、用datafactory连接你的数据库 2、id可以直接用序列,从1开始。 mac_adress利用字符串加数字:’B0:EE:20:02:00:‘+00(前面是字符串,后面是数字) 2000万条数据,两个字段,要不了多少时间。
  • 打赏
  • 举报
回复
用Pl/sql直接导入EXCEL数据
shenlele088 2013-12-07
  • 打赏
  • 举报
回复
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)
hurry281 2013-12-02
  • 打赏
  • 举报
回复
求高手???
hurry281 2013-12-02
  • 打赏
  • 举报
回复
char str[50] = "B0:CE:18:02:00:00"; IncreamentMac(str); int IncreamentMac(char* pcSrc, int iStep =1) { 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 地址自动增加的函数
大话EPM 2013-12-02
  • 打赏
  • 举报
回复
10000一次 批量插入
hurry281 2013-12-02
  • 打赏
  • 举报
回复
mac_adress 加一的,遇到F,把该位变为0, 上一位,加一。 比如:B0:EE:20:02:00:00 + 1 = B0:EE:20:02:00:01 比如:B0:EE:20:02:00:F0 + 1 = B0:EE:20:02:01:00
NIan_jun 2013-12-02
  • 打赏
  • 举报
回复
create table t as select levle id from dual connect by levle<=20000000 mac_adress 地址怎么加。。。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧