小编典典

SQL Server:如何从动态多个表中获取数据?

sql

使用SQL SERVER。

数据库包含不同年份的数据,我想以某种方式获取所有数据(所有年份)并显示给用户,例如,数据库包含表:

table
--------
records_2000_01
records_2000_02
records_2000_03
...

现在通过从information_schema.tables中选择TABLE_NAME到@tableName中,其中table_name如’records_%’

我可以获取所有表名,如何编写SQL(或过程)以从这些表中获取所有数据?将所有记录合并到一个表中?

谢谢。


阅读 223

收藏
2021-04-14

共1个答案

小编典典

在此中创建过程您需要遵循以下步骤。

  • Create table Common_Table 具有相同的结构,您的所有表格都像records_2000_02等。
  • 将循环或游标用于所有从information_schema中获得的,与表名匹配的记录
  • 创建类似' Insert into your Common_Table select * from ' + Table_name从Information_schema中获得的动态sql 。
    • 然后,将所有数据存储在一个表Common_Table中
2021-04-14