【发布时间】:2020-06-23 14:27:00
【问题描述】:
我在 Azure SQL 中有许多月度表,例如 dbo.Fresh_202001、dbo.Fresh_202002、dbo.Fresh_202003 等用于历史暂存表。
我想从设计的角度知道,构建一个程序的最佳方式是什么,我希望输出生成一个仅包含最近一个月数据的报告表,这意味着程序或报告视图应始终在月末仅从最新的月份历史表数据中读取。
例如,我们有即将到来的月底,报告视图应该读取本月的数据,即 dbo.Fresh_202006
是否可以使用您要报告的月份的变量,合并所有表并仅带回 CURRENT_DATE 等。
有什么建议吗?
【问题讨论】:
-
对于设计 POV,您不应该有月表。至少不是没有充分的理由。而“最佳方式”是一个非常主观(实际上不存在)的衡量标准。您提到这些是“暂存”表,那么为什么这与“报告”有关。您还可以参考“报告视图”和“存储过程”。我建议您退后一步,与您的团队成员就需求、设计、方向和正确使用进行广泛讨论。看来您可能在系统设计中缺少适当的关注点。
标签: sql sql-server stored-procedures view