2014-04-23 37 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以追加新表。