Создать динамическое представление в oracle

У меня есть sql для расчета данных очистки.

select 'WIP Balance - sls' item,area ima12,sum(aug) amt,'201808' dat from frdata.careawipsts@mesrpt where area != 'WH' group by area
union all
select 'WIP Balance - sls' item,'Subtotal WIP balance' ima12,sum(amt),'201808' dat from
(select 'WIP Balance - sls' item,area ima12,sum(aug) amt,'201808' dat from frdata.careawipsts@mesrpt where area != 'WH' group by area)
union all

select 'WIP Balance - sls' item,area ima12,sum(wip) amt,'201809' dat from frdata.careawipsts@mesrpt where area != 'WH' group by area
union all
select 'WIP Balance - sls' item,'Subtotal WIP balance' ima12,sum(amt),'201809' dat from
(select 'WIP Balance - sls' item,area ima12,sum(sep) amt,'201809' dat from frdata.careawipsts@mesrpt where area != 'WH' group by area)

Каждый месяц в таблице carewipsts в dblink mesrpt будет добавляться столбец, включающий значение за последний месяц с таким именем, как aug, sep, oct like и т. д. И я использую sql для вычисления суммы и итога для каждого месяца, сгруппированного по области. Теперь мне нужно вручную обновлять SQL каждый месяц. Можно ли это сделать автоматически? Если нет, то таблица в dblink с фиксированным столбцом за весь год. Является ли это возможным?

0
0
248
1

Ответы 1

Я считаю, что вам следует попробовать материализованное представление. Что-то вроде этого:

Create Materialized view temp_mv
refresh complete start with (sysdate) next (TRUNC(add_months(SYSDATE,1),'MM'))
as select ...

Другие вопросы по теме