2011-03-03 30 views
0

我们需要调用外部Web服务来获取某些数据并将其存储在本地表中。这个过程需要每10分钟重复一次,因为外部Web服务发布的数据变化很快。作为其中的一部分,我们需要清除整个表并重新插入由Web服务发布的当前数据。在截断/刷新之间读取数据库表时出现问题

我们遇到的棘手的情况是:什么在表截断时用户查询表并没有结果?这导致无效的结果显示给用户。

任何人都可以请给我一个建议吗?

回答

4

围绕两个操作使用事务。像这样的东西。

Begin transaction; 
truncate table 
populate the new table 
end transaction 

快照隔离保证您看到的数据将保持一致。

0

如果你能创造超过你的表视图,那么您可以将数据加载到新表,但需要长时间你需要来填充它,然后只需改变引用新表视图。

相关问题