2011-03-03 10 views
0

我們需要調用外部Web服務來獲取某些數據並將其存儲在本地表中。這個過程需要每10分鐘重複一次,因爲外部Web服務發佈的數據變化很快。作爲其中的一部分,我們需要清除整個表並重新插入由Web服務發佈的當前數據。在截斷/刷新之間讀取數據庫表時出現問題

我們遇到的棘手的情況是:什麼在表截斷時用戶查詢表並沒有結果?這導致無效的結果顯示給用戶。

任何人都可以請給我一個建議嗎?

回答

4

圍繞兩個操作使用事務。像這樣的東西。

Begin transaction; 
truncate table 
populate the new table 
end transaction 

快照隔離保證您看到的數據將保持一致。

0

如果你能創造超過你的表視圖,那麼您可以將數據加載到新表,但需要長時間你需要來填充它,然後只需改變引用新表視圖。

相關問題