我从第三方数据库获取数据以生成某些报告。问题在于,它会继续每月生成一个新表,以通过以下方式在同一列中插入相同记录:
For December table : Data_12_2019
For January table : Data_1_2020
For February table : Data_2_2020
For March table : Data_3_2020 and so on
我想将数据放置在上面的表中,将来也将生成这些表。我正在寻求有关如何做的帮助。
您可以使用动态查询来做到这一点。如果您的表结构相同,则可以尝试如下操作。
DECLARE @query AS NVARCHAR(max) = Stuff((SELECT DISTINCT ' ' + 'SELECT * FROM ' + Quotename(name) + ' UNION'
FROM
(
SELECT
[name]
FROM
sys.sysobjects
WHERE
[xtype] = 'U'
and NAME LIKE 'Data_[0-9][0-9]_[0-9][0-9][0-9][0-9]'
)t
FOR xml path(''), type).value('.', 'NVARCHAR(MAX)'), 1, 1, '');
SET @query= substring(@query,0,len(@query)-5)
exec(@query)