Files
vfp_roaauto/Scripturi_instalare/viewuri_materializate.sql

299 lines
10 KiB
SQL

--------------------------------------------------------
-- View-uri materializate pentru ROAAUTO v 1.4.151 --
-- Created by marius.atanasiu on 2/2/2006, 9:43:11 AM --
--------------------------------------------------------
spool viewuri_materializate.log
PROMPT
PROMPT Drop view-uri materializate
PROMPT ===================================
PROMPT
begin
begin
execute immediate 'drop view MV_ORDL_MAT';
exception
when others then
null;
end;
begin
execute immediate 'drop view mv_ordl_man';
exception
when others then
null;
end;
begin
execute immediate 'drop view mv_act_suma';
exception
when others then
null;
end;
begin
execute immediate 'drop view mv_ordl_sume_act';
exception
when others then
null;
end;
begin
execute immediate 'drop table mlog$_rul';
exception
when others then
null;
end;
begin
execute immediate 'drop table mlog$_rul1';
exception
when others then
null;
end;
begin
execute immediate 'drop materialized view log on RUL';
exception
when others then
null;
end;
begin
execute immediate 'DROP MATERIALIZED VIEW MV_ORDL_MAT';
exception
when others then
null;
end;
begin
execute immediate 'DROP TABLE MV_ORDL_MAT';
exception
when others then
null;
end;
begin
execute immediate 'drop table mlog$_dev_oper';
exception
when others then
null;
end;
begin
execute immediate 'drop table mlog$_dev_oper1';
exception
when others then
null;
end;
begin
execute immediate 'drop materialized view log on dev_oper';
exception
when others then
null;
end;
begin
execute immediate 'drop MATERIALIZED VIEW mv_ordl_man';
exception
when others then
null;
end;
begin
execute immediate 'drop table mv_ordl_man';
exception
when others then
null;
end;
begin
execute immediate 'drop table mlog$_act';
exception
when others then
null;
end;
begin
execute immediate 'drop table mlog$_act1';
exception
when others then
null;
end;
begin
execute immediate 'drop materialized view log on ACT';
exception
when others then
null;
end;
begin
execute immediate 'drop MATERIALIZED VIEW mv_ordl_sume_act';
exception
when others then
null;
end;
begin
execute immediate 'drop table mv_ordl_sume_act';
exception
when others then
null;
end;
begin
execute immediate 'DROP materialized view MV_ACT_SUMA';
exception
when others then
null;
end;
begin
execute immediate 'DROP table MV_ACT_SUMA';
exception
when others then
null;
end;
end;
/
PROMPT
PROMPT Creare log view materializat pe act
PROMPT ===================================
PROMPT
CREATE MATERIALIZED VIEW LOG ON act WITH PRIMARY KEY, ROWID, SEQUENCE(id_lucrare,dataact,nract,id_set,scc,scd,luna,an,suma,sters,explicatia,id_sucursala) INCLUDING NEW VALUES
/
PROMPT
PROMPT Creare view materializat mv_ordl_sume_act
PROMPT =========================================
PROMPT
create materialized view MV_ORDL_SUME_ACT
refresh fast on commit
as
select id_lucrare,dataact,nract,id_set,sum(case when scc='704' then (case when luna+an*12<7+2005*12 then round(suma/10000,2) else
suma end) when explicatia like 'DISCOUNT MANOPERA%' and scc<>'4427' then (case when luna+an*12<7+2005*12 then round((-1)*(abs(suma))/10000,2) else (-1)*(abs(suma)) end) else 0 end) as manopera_ron, sum(case when scc in ('707','419') then (case when luna+an*12<7+2005*12 then round(suma/10000,2) else suma end)
when explicatia like 'DISCOUNT MATERIALE%' and scc<>'4427' then (case when luna+an*12<7+2005*12 then round((-1)*(abs(suma))/10000,2) else (-1)*(abs(suma)) end)
else 0 end) as materiale_ron,sum(case when scc='4427' then (case when luna+an*12<7+2005*12 then round(suma/10000,2)
else suma end) else 0 end) as tva_ron,sum(case when scc='704' then (case when luna+an*12<7+2005*12 then suma else 0 end) when explicatia like 'DISCOUNT MANOPERA%' and scc<>'4427' then (case when
luna+an*12<7+2005*12 then (-1)*(abs(suma)) else 0 end) else 0 end) as manopera_rol,sum(case when scc in ('707','419') then (case when luna+an*12<7+2005*12 then suma else 0
end) when explicatia like 'DISCOUNT MATERIALE%' and scc<>'4427' then (case when luna+an*12<7+2005*12 then (-1)*(abs(suma)) else 0 end) else 0 end) as materiale_rol,
sum(case when scc='4427' then (case when luna+an*12<7+2005*12 then suma else 0 end) else 0 end) as tva_rol,count(*) as cnt,
count(case when scc='704' then (case when luna+an*12<7+2005*12 then round(suma/10000,2)
else suma end) when explicatia like 'DISCOUNT MANOPERA%' and scc<>'4427' then (case when luna+an*12<7+2005*12 then round((-1)*(abs(suma))/10000,2) else (-1)*(abs(suma)) end)
else 0 end) as cnt_manopera_ron,count(case when scc in ('707','419') then (case when luna+an*12<7+2005*12 then round(suma/10000,2) else suma end)
when explicatia like 'DISCOUNT MATERIALE%' and scc<>'4427' then (case when luna+an*12<7+2005*12 then round((-1)*(abs(suma))/10000,2) else (-1)*(abs(suma)) end)
else 0 end) as cnt_materiale_ron,count(case when scc='4427' then (case when luna+an*12<7+2005*12 then round(suma/10000,2)
else suma end) else 0 end) as cnt_tva_ron,count(case when scc='704' then (case when luna+an*12<7+2005*12 then suma else 0 end)
when explicatia like 'DISCOUNT MANOPERA%' and scc<>'4427' then (case when luna+an*12<7+2005*12 then (-1)*(abs(suma)) else 0 end)
else 0 end) as cnt_manopera_rol,count(case when scc in ('707','419') then (case when luna+an*12<7+2005*12 then suma else 0
end) when explicatia like 'DISCOUNT MATERIALE%' and scc<>'4427' then (case when luna+an*12<7+2005*12 then (-1)*(abs(suma)) else 0 end)
else 0 end) as cnt_materiale_rol,count(case when scc='4427' then (case when luna+an*12<7+2005*12 then suma else 0 end)
else 0 end) as cnt_tva_rol from act where sters=0 and scd in ('4111', '667', '482', '711', '6588') and id_set in (31001, 31002, 31003, 31004, 31005, 31006, 31007, 31011, 31012) group by id_lucrare,dataact,nract,id_set
/
PROMPT
PROMPT Creare view materializat MV_ACT_SUMA
PROMPT =========================================
PROMPT
create materialized view MV_ACT_SUMA
REFRESH FAST ON COMMIT
AS
select an, luna, id_sucursala,
sum(case when TO_NUMBER(SUBSTR(SCD, 1, 1)) between 1 and 7 then suma else 0 end) as sumaD,
sum(case when TO_NUMBER(SUBSTR(SCC, 1, 1)) between 1 and 7 then suma else 0 end) as sumaC,
sum(case when TO_NUMBER(SUBSTR(SCD, 1, 1)) = 8 then suma else 0 end) as sumaD_8,
sum(case when TO_NUMBER(SUBSTR(SCC, 1, 1)) = 8 then suma else 0 end) as sumaC_8,
sum(case when TO_NUMBER(SUBSTR(SCD, 1, 1)) = 9 then suma else 0 end) as sumaD_9,
sum(case when TO_NUMBER(SUBSTR(SCC, 1, 1)) = 9 then suma else 0 end) as sumaC_9,
count(*) as nr,
count(case when TO_NUMBER(SUBSTR(SCD, 1, 1)) between 1 and 7 then suma else 0 end) as nrsumaD,
count(case when TO_NUMBER(SUBSTR(SCC, 1, 1)) between 1 and 7 then suma else 0 end) as nrsumaC,
count(case when TO_NUMBER(SUBSTR(SCD, 1, 1)) = 8 then suma else 0 end) as nrsumaD_8,
count(case when TO_NUMBER(SUBSTR(SCC, 1, 1)) = 8 then suma else 0 end) as nrsumaC_8,
count(case when TO_NUMBER(SUBSTR(SCD, 1, 1)) = 9 then suma else 0 end) as nrsumaD_9,
count(case when TO_NUMBER(SUBSTR(SCC, 1, 1)) = 9 then suma else 0 end) as nrsumaC_9
from act
where sters = 0
group by an, luna, id_sucursala
/
PROMPT
PROMPT Creare log view materializat pe dev_oper
PROMPT ========================================
PROMPT
CREATE MATERIALIZED VIEW LOG ON dev_oper WITH PRIMARY KEY,ROWID, SEQUENCE(id_ordl,datai,pret,timpn,nou,sters) INCLUDING NEW VALUES
/
PROMPT
PROMPT Creare view materializat mv_ordl_man
PROMPT ====================================
PROMPT
create materialized view MV_ORDL_MAN refresh fast on commit as
select id_ordl,extract(month from datai) + extract(year from datai) * 12 as luni,
sum(case
when nou = 0 then
round(round(pret / 10000, 2) * timpn, 2)
else
round(pret * timpn, 2)
end) as manopera_ron,
sum(case
when nou = 0 then
round(pret * timpn, 2)
else
0
end) as manopera_rol,
count(*) as cnt,
count(case
when nou = 0 then
round(round(pret / 10000, 2) * timpn, 2)
else
round(pret * timpn, 2)
end) as cnt_manopera_ron,
count(case
when nou = 0 then
round(pret * timpn, 2)
else
0
end) as cnt_manopera_rol
from dev_oper
where sters = 0
group by id_ordl,
extract(month from datai) + extract(year from datai) * 12
/
PROMPT
PROMPT Creare log view materializat pe rul
PROMPT ===================================
PROMPT
CREATE MATERIALIZED VIEW LOG ON RUL WITH ROWID, SEQUENCE(AN,LUNA,PRETV,CANTE,ID_LUCRARE,STERS) INCLUDING NEW VALUES;
/
PROMPT
PROMPT Creare view materializat mv_ordl_mat
PROMPT ====================================
PROMPT
CREATE MATERIALIZED VIEW MV_ORDL_MAT
REFRESH FAST ON COMMIT AS
SELECT STERS,
ID_LUCRARE,
LUNA,
AN,
SUM(CASE
WHEN LUNA + AN * 12 < 7 + 2005 * 12 THEN
ROUND(PRETV * CANTE, 2)
ELSE
0
END) materiale_rol,
COUNT(CASE
WHEN LUNA + AN * 12 < 7 + 2005 * 12 THEN
ROUND(PRETV * CANTE, 2)
ELSE
0
END) cnt_materiale_rol,
SUM(CASE
WHEN LUNA + AN * 12 < 7 + 2005 * 12 THEN
ROUND(ROUND(PRETV / 10000, 2) * CANTE, 2)
ELSE
ROUND(PRETV * CANTE, 2)
END) materiale_ron,
COUNT(CASE
WHEN LUNA + AN * 12 < 7 + 2005 * 12 THEN
ROUND(ROUND(PRETV / 10000, 2) * CANTE, 2)
ELSE
ROUND(PRETV * CANTE, 2)
END) cnt_materiale_ron,
COUNT(*) cnt
FROM RUL
WHERE (STERS = 0)
GROUP BY STERS, ID_LUCRARE, LUNA, AN
/
spool off