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

Java 将数据从文件同步到数据库,java,oracle,Java,Oracle,情景 我在一个文件(平面文件)中有employee对象,每一行代表一个employee记录 我在数据库employee表中有employee对象 我想将文件中的记录同步到employee表 插入不在表中的内容 更新存在的字段,但某些字段已更新 删除那些不在文件中但存在于表中的记录 我能想到一个简单的解决方案(不确定是否正确): 从Dababase表中删除所有记录,并将文件中的所有REOCRD插入表中 但我想更新那些已经存在,但一个或多个字段已更改的字段 注意:employee_id是标识记录的唯

情景

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

我在数据库employee表中有employee对象

我想将文件中的记录同步到employee表
插入不在表中的内容
更新存在的字段,但某些字段已更新
删除那些不在文件中但存在于表中的记录

我能想到一个简单的解决方案(不确定是否正确):
从Dababase表中删除所有记录,并将文件中的所有REOCRD插入表中

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


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

您可以创建一个临时表,该临时表具有与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)

如果您有权创建新表,可以添加一个表,从平面文件中输入记录。现在,您可以协调或操作运行SQL脚本的现有表中的记录。感谢您的回答,请详细说明如何比较这些记录