将数据从文件同步到数据库

时间:2013-07-18 09:40:41

标签: java oracle

方案

我在一个文件(平面文件)中有员工对象,每行代表一个员工记录

我在数据库表员工

中有员工对象

我想将文件中的记录同步到表员工
插入不在表格中的那些 更新那些,但有些字段更新
删除那些不在档案中但存在于表格中的记录

一个简单的解决方案(不确定,如果这是正确的)我可以想到:
从Dababase表中删除所有记录,并将所有reocrds插入到表

但是我想更新已存在的那些,但是一个或多个字段已更改

注意:employee_id是标识记录的唯一/主键,文件或表中没有重复记录

1 个答案:

答案 0 :(得分:0)

您可以创建一个临时表,该表与employee表具有相同的列。首先将数据从文件加载到临时表,然后是纯sql操作。 例如,删除不在文件

中的那些
Delete from employee where employee_id not in (select employee_id from employee_tmp);

在文件中插入但不在表格中

insert into employee select * from employee_tmp where empoyee_id not in (select employee_id from employee)