我在 oracle 9 数据库中有一系列历史记录表。History_table_00 包含上个月的数据,History_table_01 包含上个月的数据,History_table_02 包含上个月的数据。下个月,History_table_02 将自动重命名为 history_table_03,history_table_01 重命名为 history_table_02,history_table_00 重命名为 history_table_01,并且将创建一个新的 history_table_00 来收集最新的历史记录(我真的希望我说得通)。
无论如何,我需要编写一个 select 语句来动态选择所有历史表。我希望这不会太复杂,因为它们都共享相同的名称,只是附加了序号,因此我可以通过以下方式发现表名:
select table_name from all_tables where table_name like 'HISTORY_TABLE_%';
我对每个表的标准查询将是:
select id, name, data_column_1, data_column_2 from history_table_%;
我必须做些什么来完成编写一个总是从所有历史表中选择的 sql 语句的目标,而我不需要每个月都进入并添加新表?感谢你们提供的任何东西。