Я думаю, что может быть лучший способ, и он будет работать в Oracle: у вас должна быть только одна таблица xx с колонкой для месяца (или месяца / года) - но сделайте ее разделенной таблицей в этом месяце ( или месяц / год) столбец.
Что Oracle сделает, так это создаст отдельную область хранения для каждого значения столбца раздела, и он будет достаточно умен, чтобы рассматривать только соответствующие области хранения, если ваши запросы содержат значение (или диапазон) для этот раздел столбец.
Если вы когда-нибудь решили, что больше не хотите сохранять определенный месяц (или месяц / год), вы можете указать Oracle отбросить этот один раздел, оставив остальную таблицу без изменений.