日期:2014-05-16  浏览次数:20445 次

数据库的一个问题
问题描述:我写一个导入数据库的工具,使用循环一条一条的导入,在导入之前,都要和数据库进行比较,看是否有重复的,这个小工具我写好了,貌似没问题,可是我突然想到一个问题,就是每次循环插入的一条记录前的判断是否包括前面刚插入进去的数据,数据库这方面我不是很懂,所以不是很确定,我个人觉得,在事务没提交之前,做查询,应该是查询不到刚插入进去的数据,所以请大神们解答一下,谢谢,还有就是,假如有重复,我还得把这条记录的主键读出来。
------解决方案--------------------
默认配置下,事务未提交是读不出来或者读取不准确的,你可以考虑用游标来读,不过也可以先批量导入数据库的一个临时表,然后用not exists或者not in主键来判断是否重复。这样就可以减少事务导致的问题。
------解决方案--------------------
我记得应该是查询得到,即使是刚插入的,也就是一旦有数据库行为操作,会更新数据库内容的,在C#.net程序是这样。