Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpapp/script/dbUpDate/KitAprile06/dbcgoDDL.sql
2024-05-13 12:54:14 +02:00

262 lines
7.4 KiB
SQL

--da eseguire come utente DBCGO
-----------------------------------------------------------
--DB LINK
CREATE DATABASE LINK mnp
CONNECT TO mnp
IDENTIFIED BY "MNP"
USING 'MNP';
-----------------------------------------------------------
--DIRECTORY
CREATE OR REPLACE DIRECTORY dbcgo_dwht_path AS '/mnpapp/dbcgo/flussi/dwht';
-----------------------------------------------------------
--TABLE
ALTER TABLE dbcgo_gestione_richiesta
ADD (data_transizione_stato_grp DATE,
codice_operatore_donating VARCHAR2(4));
CREATE BITMAP INDEX idx14_dbcgo_gestione_ric
ON dbcgo_gestione_richiesta(codice_pre_post_pagato)
TABLESPACE dbcgo_idx_big;
-----------------------------------------------------------
ALTER TABLE dbcgo_gestione_richiesta_rec
ADD (data_transizione_stato_grp DATE,
codice_dealer VARCHAR2(10),
valore_cliente VARCHAR2(40) DEFAULT 'ND' NOT NULL,
valore_spesa VARCHAR2(40) DEFAULT 'ND' NOT NULL,
codice_operatore_recipient VARCHAR2(4),
codice_gruppo VARCHAR2(12));
CREATE BITMAP INDEX idx12_dbcgo_gestione_ric_rec
ON dbcgo_gestione_richiesta_rec(valore_cliente)
TABLESPACE dbcgo_idx_big;
CREATE BITMAP INDEX idx13_dbcgo_gestione_ric_rec
ON dbcgo_gestione_richiesta_rec(valore_spesa)
TABLESPACE dbcgo_idx_big;
CREATE BITMAP INDEX idx14_dbcgo_gestione_ric_rec
ON dbcgo_gestione_richiesta_rec(codice_pre_post_pagato)
TABLESPACE dbcgo_idx_big;
-----------------------------------------------------------
ALTER TABLE dbcgo_stato
ADD (stato_type NUMBER(1,0) DEFAULT 0 NOT NULL);
-----------------------------------------------------------
ALTER TABLE dbcgo_stato_rec
ADD (stato_type NUMBER(1,0) DEFAULT 0 NOT NULL);
-----------------------------------------------------------
CREATE TABLE dbcgo_gestione_richiesta_por
(
id_richiesta VARCHAR2(23 BYTE) NOT NULL,
stato NUMBER(2) NOT NULL,
dataricezionerichiesta DATE NOT NULL,
data_cut_over DATE,
codice_operatore_donating VARCHAR2(4 BYTE) NOT NULL,
codice_operatore_recipient VARCHAR2(4 BYTE) NOT NULL,
msisdn VARCHAR2(15 BYTE) NOT NULL,
insert_date DATE,
update_date DATE,
TIMESTAMP TIMESTAMP(6) NOT NULL,
data_transizione_stato DATE NOT NULL
)
TABLESPACE dbcgo_data_big;
CREATE UNIQUE INDEX pk_dbcgo_gest_rich_por
ON dbcgo_gestione_richiesta_por (id_richiesta)
TABLESPACE dbcgo_idx_big;
ALTER TABLE dbcgo_gestione_richiesta_por
ADD CONSTRAINT pk_dbcgo_gest_rich_por PRIMARY KEY (id_richiesta)
USING INDEX
TABLESPACE dbcgo_idx_big;
CREATE INDEX idx01_dbcgo_gestione_ric_por
ON dbcgo_gestione_richiesta_por (msisdn)
TABLESPACE dbcgo_idx_big;
-------------------------------------------------------------------------
CREATE TABLE SAP_ANAG_FV
(
COD_ID VARCHAR2(10) NOT NULL,
COD_ID_PADRE VARCHAR2(10) NOT NULL,
MERCATO VARCHAR2(4) NOT NULL,
DISLOCAZIONE_TERR VARCHAR2(4),
STATO NUMBER(1) NOT NULL,
DEALER_TYPE NUMBER(1) DEFAULT 0 NOT NULL
)
TABLESPACE DBCGO_DATA_BIG;
ALTER TABLE SAP_ANAG_FV
ADD CONSTRAINT SAP_ANAG_FV_PK
PRIMARY KEY (COD_ID)
USING INDEX
TABLESPACE DBCGO_IDX_BIG;
COMMENT ON COLUMN SAP_ANAG_FV.STATO IS '1 = dealer attivo, 0 = dealer non attivo';
COMMENT ON COLUMN SAP_ANAG_FV.DEALER_TYPE IS '1 = dealer fittizio, 0 = dealer non fittizio';
-------------------------------------------------------------------------
CREATE TABLE DBCGO_LOV_REF
(
LOV_ID NUMBER NOT NULL,
LOV_ID_REF NUMBER NOT NULL
)
TABLESPACE DBCGO_DATA_SMALL;
ALTER TABLE DBCGO_LOV_REF ADD
CONSTRAINT PK_DBCGO_LOV_REF
PRIMARY KEY (LOV_ID,LOV_ID_REF)
USING INDEX
TABLESPACE DBCGO_IDX_SMALL
ENABLE
VALIDATE;
ALTER TABLE DBCGO_LOV_REF
ADD CONSTRAINT FK0_DBCGO_LOV_REF
FOREIGN KEY (LOV_ID)
REFERENCES DBCGO_LOV (LOV_ID)
ENABLE
VALIDATE;
ALTER TABLE DBCGO_LOV_REF
ADD CONSTRAINT FK1_DBCGO_LOV_REF
FOREIGN KEY (LOV_ID_REF)
REFERENCES DBCGO_LOV (LOV_ID)
ENABLE
VALIDATE;
-------------------------------------------------------------------------
CREATE TABLE DWHT_VOLUMI_AOM0
(
MSISDN VARCHAR(40) NOT NULL,
CODICE_OPERATORE VARCHAR(6) NOT NULL,
NC NUMBER NOT NULL,
DC NUMBER NOT NULL
)
TABLESPACE DBCGO_DATA_BIG;
ALTER TABLE DWHT_VOLUMI_AOM0 ADD
CONSTRAINT DWHT_VOLUMI_AOM0_PK
PRIMARY KEY (MSISDN)
USING INDEX
TABLESPACE DBCGO_IDX_BIG;
-------------------------------------------------------------------------
CREATE TABLE DWHT_VOLUMI_AOM1
(
MSISDN VARCHAR(40) NOT NULL,
CODICE_OPERATORE VARCHAR(6) NOT NULL,
NC NUMBER NOT NULL,
DC NUMBER NOT NULL
)
TABLESPACE DBCGO_DATA_BIG;
ALTER TABLE DWHT_VOLUMI_AOM1 ADD
CONSTRAINT DWHT_VOLUMI_AOM1_PK
PRIMARY KEY (MSISDN)
USING INDEX
TABLESPACE DBCGO_IDX_BIG;
-------------------------------------------------------------------------
CREATE TABLE EXT_DWHT_VOLUMI_AOM
(
MSISDN VARCHAR(40),
CODICE_OPERATORE VARCHAR(6),
NC NUMBER,
DC NUMBER
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY DBCGO_DWHT_PATH
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
BADFILE 'ext_dwht_volumi_aom.bad'
LOGFILE 'ext_dwht_volumi_aom.log'
FIELDS TERMINATED BY ';'
)
LOCATION (DBCGO_DWHT_PATH:'DWHT_VOLUMI_AOM.DAT')
)
REJECT LIMIT UNLIMITED
NOLOGGING
NOCACHE
NOPARALLEL;
-------------------------------------------------------------------------
CREATE TABLE DBCGO_STATO_POR
(
ID_STATO NUMBER(5) NOT NULL,
DESCR_STATO VARCHAR2(40 BYTE) NOT NULL,
ID_STATO_GRP NUMBER(5),
DESCR VARCHAR2(40 BYTE),
STATO_TYPE NUMBER(1,0) DEFAULT 0 NOT NULL
)
TABLESPACE DBCGO_DATA_SMALL;
-------------------------------------------------------------------------
CREATE TABLE dbcgo_pp
(
id_richiesta VARCHAR2(23) NOT NULL,
data_operazione DATE,
codice_operatore_donating VARCHAR2(4) NOT NULL,
codice_operatore_recipient VARCHAR2(4) NOT NULL,
msisdn VARCHAR2(15) NOT NULL,
processo VARCHAR2(1) NOT NULL,
terminato NUMBER(1,0) NOT NULL
)
TABLESPACE DBCGO_DATA_BIG;
ALTER TABLE dbcgo_pp
ADD CONSTRAINT pk_dbcgo_ping_pong PRIMARY KEY (id_richiesta,processo)
USING INDEX
TABLESPACE DBCGO_IDX_BIG;
CREATE INDEX idx01_dbcgo_ping_pong
ON dbcgo_pp (MSISDN)
TABLESPACE DBCGO_IDX_BIG;
CREATE INDEX idx02_dbcgo_ping_pong
ON dbcgo_pp (id_richiesta)
TABLESPACE DBCGO_IDX_BIG;
-------------------------------------------------------------------------
--VIEW
CREATE OR REPLACE VIEW DBCGO_PP_VIEW (
id_richiesta,msisdn,processo,codice_operatore_donating,codice_operatore_recipient,data_operazione )
AS
(
select id_richiesta,msisdn,'D' as processo,codice_operatore_donating,codice_operatore_recipient,data_transizione_stato as data_operazione
from DBCGO_GESTIONE_RICHIESTA
where stato=16 -- stato finale
UNION
select id_richiesta,msisdn,'R' as processo,codice_operatore_donating,codice_operatore_recipient,data_transizione_stato as data_operazione
from DBCGO_GESTIONE_RICHIESTA_REC
where stato=12 -- stato finale
UNION
select id_richiesta,msisdn,'P' as processo,codice_operatore_donating,codice_operatore_recipient,data_transizione_stato as data_operazione
from DBCGO_GESTIONE_RICHIESTA_POR
where stato=6 -- stato finale
);
-------------------------------------------------------------------------
--SYNONYM
CREATE SYNONYM DWHT_VOLUMI_AOM FOR DWHT_VOLUMI_AOM0;
-------------------------------------------------------------------------