由于昂贵的SQL请求,我遇到了动态生成特定表的问题。我想预先生成表格,只需将其显示给用户即可。问题是:表格有多个版本,并且会不断添加新版本。
请给我一些关于如何设计表(?)来保存这些表的想法。 我的一个想法是将版本号附加到各个表中的每一行,并将它们全部转储到单个缓存表中。这样,我可以通过过滤版本号轻松显示所请求的版本。还有更好的方法吗?
答案 0 :(得分:1)
如果没有一个例子,我可能会在这里做一些假设,但听起来像动态SQL就可以做到这一点。
declare @sql varchar(max)
select
@sql = 'SELECT * FROM MyTableName_' + v.version
from dbo.Version as v
where v.id = 1
exec (@sql)
如果您最终使用它,只需知道动态sql是cruel mistress。用一只手给她,另一只手拿走。