【发布时间】:2020-03-15 00:45:26
【问题描述】:
其实我知道如何在 SQL 中创建视图。但我被这个案例困住了。
我的一个数据库每月创建表。例如表名是TL202001、TL202002、TL202003,所以下个月的新表将是TL202004。所有表都有相同的列。但是数据的差异我想为所有这些动态表生成一个视图。但我不知道如何为未来的表格制定逻辑。让我知道这种情况下查看是可能的,让我知道您的解决方案。
请帮忙!
我再解释清楚,
例子:
- 我的数据库名称是 TAS
- 在
TAS数据库中,每个月都会通过一个软件创建一个新表
例如:
T_LG202001
T_LG202002
T_LG202003
T_LG202004 etc...
我想为所有这些表一起创建一个视图。它还需要考虑未来月份的表格。
select *
from T_LG202001,T_LG202002,T_LG202003.........T_LG202030 etc.
请告诉我。现在你明白了。我需要知道 View 是可能的吗?如果可能的解决方案,请告诉我。
【问题讨论】:
-
考虑表分区,而不是动态视图。
-
视图中不允许使用动态 SQL,但您可以动态创建视图。看看stackoverflow.com/questions/41807327/sql-dynamic-pivot-table/…
-
Dynamic Table Names in Application Code - 属性作为表名/自制分区的一部分
-
老实说,你有这样的表格听起来像是一个设计缺陷。如果可以的话,你应该规范化你的数据。
-
听起来你对月表的数据定义会不时变化。所以这不仅仅是数据分区,还有版本控制......我认为除非你能为新表提供可能的“逻辑更改”样式,否则没有人能提供帮助。
标签: sql sql-server tsql