2014-04-23 45 views
1

我正在查詢具有多個表之間分片數據的供應商數據庫。該表被命名爲Events_1Events_2Events_3Events_4查詢訪問分片表

看來,當表打10000條記錄會自動創建一個新表。我正在尋找能夠聯合所有表結果的查詢(無需在創建時手動添加表)以及僅查看2個最新表的查詢。

對此有何建議?

數據庫爲Microsoft SQL Server 2008

+0

1.在10k條記錄之後如此分片看起來似乎被誤導了。你將不得不創建動態的SQL基本不需要sys對象。 –

+0

這是供應商設置它的方式。我可能接近使用遊標的解決方案。我發佈了結果。 – landtax

回答

0
  1. 你可以用動態SQL這樣做,這樣你查詢系統對象的表名Events_ *和從結果構建一個SELECT UNION。

  2. 雖然可能更復雜,但更好的辦法是一個DDL觸發器,當創建表Events_ *時,會動態更新您的UNION VIEW以追加新表。