批量导入数据到oracle
  ajtZ4dACL54c 2023年11月13日 16 0


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

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

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

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

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

批量导入数据到oracle_数据


批量导入数据到oracle_数据_02

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;


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  eo9lmrKcoG9P   2023年12月11日   17   0   0 组播多点HCIP数据
ajtZ4dACL54c