批量导入数据到oracle

有一些数据需要录入到数据库。这些数据位于excel和word文档里。

导入数据嘛,这有啥难的?

不过,这些数据并不是从数据库里导出来的,ID还要用序列号生成,我不知道导入的话,该咋整。也许是可以导入的,但我不知道方法。

作为一名程序员,当然不可能一条条地录进去,这会玷污了程序员这个称号。我用了一个方法,可以导进去,记录如下:
思路:

1、创建一个临时用的表temp
2、开启编辑模式,将数据粘贴到temp
3、insert into 目标表 select from temp

这里写图片描述
这里写图片描述

insert into meta(id,category,parentid,name,p1)
select seq_meta.nextval,9,52,t.name,t.p1 from temp t;	

2019.12.28
如果不想手动写那么多列名,可以先将列名找出来

--克隆一个project的表tmp_project
create table tmp_project as select * from project;

--删掉某列,这个列是记录当前系统时间的,对于导入没啥帮助
alter table tmp_project drop column createdate;

--然后导入EXCEL,略

--找出表"project"的列
--注意表名区分大小写。按照ORACLE的习惯,一般都是大写
SELECT T.COLUMN_NAME || ',' FROM USER_TAB_COLUMNS T WHERE T.TABLE_NAME='PROJECT';

--从tmp_project复制到project,中途有转换
insert into project(ID,
NAME,
PRJ_TYPE,
STATE,
START_TIME,
MONEY,
UNIT,
ADDRESS,
CONTENT,
NOTE,
BY_NATION,
X,
Y,
CITY,
CREATEDATE
) 
select seq_project.nextval,
NAME,
PRJ_TYPE,
STATE,
START_TIME,
MONEY,
UNIT,
ADDRESS,
CONTENT,
NOTE,
case when BY_NATION='是' then 1 else 0 end,
X,
Y,
CITY,
sysdate from tmp_project;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值