我有一个包含51个表的数据库,它们都具有相同的模式(每个状态一个表)。每个表有几百万行和大约50列。
我已将列标准化为其他6个表,现在我想将这51个表中的所有数据导入到6个新表中。列名都是一样的,所以我希望我可以自动导入所有数据。
我假设我需要做的是:
选择具有原始架构的所有列表的名称
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'raw'
迭代所有结果
SELECT INTO
相应的列添加到相应的表中我有什么遗失的吗?此外,有没有办法在SQL Server上运行,所以我不必一直打开我的SQL Server Management Studio?
答案 0 :(得分:2)
是的,显然,你可以用t-sql自动化它。但我建议你在这种情况下使用SSIS。正如您所说,所有表的结构都与您进行某些ETL过程相同,然后您只需在源中更改表名。毋庸置疑,您将拥有以下优势: