方案
我在一个文件(平面文件)中有员工对象,每行代表一个员工记录
我在数据库表员工
中有员工对象我想将文件中的记录同步到表员工
插入不在表格中的那些
更新那些,但有些字段更新
删除那些不在档案中但存在于表格中的记录
一个简单的解决方案(不确定,如果这是正确的)我可以想到:
从Dababase表中删除所有记录,并将所有reocrds插入到表
但是我想更新已存在的那些,但是一个或多个字段已更改
注意:employee_id是标识记录的唯一/主键,文件或表中没有重复记录
答案 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)