我正在查询供应商数据库,该数据库具有在多个表之间分片的数据。这些表的名称为Events_1
,Events_2
,Events_3
,Events_4
等。
当表格达到10,000条记录时,似乎会自动创建一个新表格。我期待编写一个能够将所有表的结果联合起来的查询(无需在创建表时手动添加表)以及仅查看2个最新表的查询。
有关最佳方法的任何建议吗?
数据库是Microsoft SQL Server 2008
答案 0 :(得分:0)
您可以使用动态SQL执行此操作,以便查询sysobjects以获取表名Events_ *并从结果中构建SELECT UNION。
更好,尽管可能更复杂,但是DDL触发器会动态更新UNION VIEW,以便在创建表Events_ *时附加新表。