欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库操作,将一个表的数据批量插入另一个表

程序员文章站 2022-05-03 13:14:14
...

由于一次失误,在B表中忘记插入一些数据,需要在A表中导出大量数据,再批量插入B表中。仅是一次性操作,在ide写代码也可以,但并不划算。这里有个问题,就是B表的key值是varchar类型的,不能自增!如果是int,可以自增,直接将A表中需要导入的值复制粘贴啪啦啪啦就完了。如果想把varchar类型改成int类型,需要清空key那一列的值,这是无法办到的,也可能是我才疏学浅,反正我没啥办法。然后大佬教了我一个很好用的方法。

首先,查询出要导出的数据是否存在重复,这是一个细节

select USER_ID , COUNT(USER_ID) from TF_EMPLOYEE WHERE COMPID = '61' GROUP BY USER_ID 

这里是查询 TF_EMPLOYEE 表中,COMPID为61的结果,取USER_ID的值。

数据库操作,将一个表的数据批量插入另一个表可以看到,在USER_ID这一列旁边出现了一列COUNT(USER_ID),往下拉,只要COUNT(USER_ID)列都是1,那就没有重复的。

将查询结果中USER_ID列的结果全都黏贴到Excel文件中。
数据库操作,将一个表的数据批量插入另一个表这里一共有101条数据

为了保险,我们再查一下总数。

select COUNT(user_id) from TF_EMPLOYEE WHERE COMPID = '61'

数据库操作,将一个表的数据批量插入另一个表
总数是101这就是说我们的结果是正确的。

select max(TO_NUMBER(id)) from tf_staff

将varchar类型的主键(id)转成整型然后获取最大值。

数据库操作,将一个表的数据批量插入另一个表
数据库操作,将一个表的数据批量插入另一个表放到Excel中自增

写一个插入的数据库语句

INSERT INTO TF_STAFF (STAFF_ID,ID) VALUES ('','');

不用填值,如果你怕出错,可以先测试下。
数据库操作,将一个表的数据批量插入另一个表
先输入=""
数据库操作,将一个表的数据批量插入另一个表
然后输入&,选择第一个数据,
数据库操作,将一个表的数据批量插入另一个表
&符相当于and,用来连接第相连的" "里面的值
数据库操作,将一个表的数据批量插入另一个表

这里将插入语句分成三份,刚好对于3个" "号,拉下来就成
数据库操作,将一个表的数据批量插入另一个表
结果就是这样,将其黏贴到文本编辑工具
数据库操作,将一个表的数据批量插入另一个表
再转帖到数据库,
数据库操作,将一个表的数据批量插入另一个表

大功告成!