0

设想

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

我在数据库表员工中有员工对象

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

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

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

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

4

1 回答 1

0

您可以创建一个与员工表具有相同列的临时表。先将文件中的数据加载到临时表中,再进行纯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)
于 2013-07-18T09:51:16.017 回答