-- -- Create Schema Script -- Database Version : 19.0.0.0.0 -- Database Compatible Level : 19.0.0.0.0 -- Script Compatible Level : 19.0.0.0.0 -- Toad Version : 13.3.0.181 -- Schema : BANDO_VOLI -- Script Created by : BANDO_VOLI -- Script Created at : 06/08/2026 09:54:45 -- Notes : -- -- "Set define off" turns off substitution variables. Set define off; -- -- ACCOUNT_ANAG_ID_SEQ (Sequence) -- CREATE SEQUENCE ACCOUNT_ANAG_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 200 NOORDER NOKEEP NOSCALE GLOBAL; -- -- ACCOUNT_ID_SEQ (Sequence) -- CREATE SEQUENCE ACCOUNT_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- ACCOUNT_NUCLEO_ID_SEQ (Sequence) -- CREATE SEQUENCE ACCOUNT_NUCLEO_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- ALLEGATI_ID_SEQ (Sequence) -- CREATE SEQUENCE ALLEGATI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- ANAG_COMPAGNIE_SEQ (Sequence) -- CREATE SEQUENCE ANAG_COMPAGNIE_SEQ START WITH 1 MAXVALUE 999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- ANAG_DICHIARAZIONI_ID_SEQ (Sequence) -- CREATE SEQUENCE ANAG_DICHIARAZIONI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence) -- CREATE SEQUENCE AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- BANDI_ID_SEQ (Sequence) -- CREATE SEQUENCE BANDI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- COMPAGNIE_SEQ (Sequence) -- CREATE SEQUENCE COMPAGNIE_SEQ START WITH 1 MAXVALUE 999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- COMUNE_ID_SEQ (Sequence) -- CREATE SEQUENCE COMUNE_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- CUSTOMER_SATISFACTION_ID_SEQ (Sequence) -- CREATE SEQUENCE CUSTOMER_SATISFACTION_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOCUMENTIBANDO_ID_SEQ (Sequence) -- CREATE SEQUENCE DOCUMENTIBANDO_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOMANDA_CONTRATTI_ID_SEQ (Sequence) -- CREATE SEQUENCE DOMANDA_CONTRATTI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOMANDA_EMAIL_ID_SEQ (Sequence) -- CREATE SEQUENCE DOMANDA_EMAIL_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOMANDA_IBAN_ID_SEQ (Sequence) -- CREATE SEQUENCE DOMANDA_IBAN_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOMANDA_ID_SEQ (Sequence) -- CREATE SEQUENCE DOMANDA_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOMANDA_SCONTI_CONTROLLI_ID_SEQ (Sequence) -- CREATE SEQUENCE DOMANDA_SCONTI_CONTROLLI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOMANDA_SCONTI_ID_SEQ (Sequence) -- CREATE SEQUENCE DOMANDA_SCONTI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ (Sequence) -- CREATE SEQUENCE DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- ESPORTAZIONI_SEQ (Sequence) -- CREATE SEQUENCE ESPORTAZIONI_SEQ START WITH 1 MAXVALUE 999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- FAQ_ID_SEQ (Sequence) -- CREATE SEQUENCE FAQ_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- FAQ_UTENTI_ID_SEQ (Sequence) -- CREATE SEQUENCE FAQ_UTENTI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- IMPERSONIFICAZIONE_ID_SEQ (Sequence) -- CREATE SEQUENCE IMPERSONIFICAZIONE_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ (Sequence) -- CREATE SEQUENCE INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- LOGS_BE_ID_SEQ (Sequence) -- CREATE SEQUENCE LOGS_BE_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 200 NOORDER NOKEEP NOSCALE GLOBAL; -- -- LOGS_ID_SEQ (Sequence) -- CREATE SEQUENCE LOGS_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- LOGS_P7M_ID_SEQ (Sequence) -- CREATE SEQUENCE LOGS_P7M_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence) -- CREATE SEQUENCE RICHIESTA_INTEGRAZIONE_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- SPID_ACCESSI_ID_SEQ (Sequence) -- CREATE SEQUENCE SPID_ACCESSI_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- UID_FIREBASE_ADMIN_ID_SEQ (Sequence) -- CREATE SEQUENCE UID_FIREBASE_ADMIN_ID_SEQ START WITH 1 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER NOKEEP NOSCALE GLOBAL; -- -- ACCOUNT (Table) -- -- Row Count: 402857 CREATE TABLE ACCOUNT ( CODICE_FISCALE VARCHAR2(16 BYTE) NOT NULL, USERNAME VARCHAR2(255 BYTE), PASSWORD VARCHAR2(255 BYTE), DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP, AUTORIZZAZIONE_TRATTAMENTO NUMBER DEFAULT NULL, CANCELLATO NUMBER DEFAULT 0, ID NUMBER NOT NULL ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_CF_ACCOUNT (Index) -- -- Dependencies: -- ACCOUNT (Table) -- CREATE UNIQUE INDEX IX_CF_ACCOUNT ON ACCOUNT (CODICE_FISCALE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- PK_ACCOUNT_ID (Index) -- -- Dependencies: -- ACCOUNT (Table) -- CREATE UNIQUE INDEX PK_ACCOUNT_ID ON ACCOUNT (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE ACCOUNT ADD ( CONSTRAINT PK_ACCOUNT_ID PRIMARY KEY (ID) USING INDEX PK_ACCOUNT_ID ENABLE VALIDATE); -- -- ACCOUNT_ANAGRAFICA (Table) -- -- Row Count: 375149 CREATE TABLE ACCOUNT_ANAGRAFICA ( CODICE_FISCALE VARCHAR2(16 BYTE) NOT NULL, NOME VARCHAR2(200 BYTE), COGNOME VARCHAR2(200 BYTE), DATA_NASCITA VARCHAR2(20 BYTE), COMUNE_NASCITA VARCHAR2(200 BYTE), PROV_NASCITA VARCHAR2(2 BYTE), CAP_NASCITA VARCHAR2(5 BYTE), COMUNE_RESIDENZA VARCHAR2(200 BYTE), PROV_RESIDENZA VARCHAR2(2 BYTE), CAP_RESIDENZA VARCHAR2(5 BYTE), INDIRIZZO_RESIDENZA VARCHAR2(200 BYTE), CIVICO_RESIDENZA VARCHAR2(20 BYTE), SPID_CELLULARE VARCHAR2(200 BYTE), SPID_DOCUMENTO VARCHAR2(200 BYTE), SPID_DOCUMENTO_SCADENZA VARCHAR2(200 BYTE), SPID_DOCUMENTO_RILASCIO VARCHAR2(200 BYTE), SPID_TIPO_DOCUMENTO VARCHAR2(200 BYTE), SPID_DOCUMENTO_ENTE VARCHAR2(200 BYTE), DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP, DATA_MODIFICA TIMESTAMP(6), ID NUMBER NOT NULL, RECAPITO VARCHAR2(50 BYTE), SESSO VARCHAR2(1 BYTE), FORZATURA_CODICE_FISCALE INTEGER DEFAULT 0, SPID_EMAIL VARCHAR2(200 BYTE), PEC VARCHAR2(200 BYTE), EMAIL VARCHAR2(200 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- ACCOUNT_ANAGRAFICA_PK (Index) -- -- Dependencies: -- ACCOUNT_ANAGRAFICA (Table) -- CREATE UNIQUE INDEX ACCOUNT_ANAGRAFICA_PK ON ACCOUNT_ANAGRAFICA (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE ACCOUNT_ANAGRAFICA ADD ( CONSTRAINT ACCOUNT_ANAGRAFICA_PK PRIMARY KEY (ID) USING INDEX ACCOUNT_ANAGRAFICA_PK ENABLE VALIDATE); -- -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- -- Dependencies: -- ACCOUNT (Table) -- -- Row Count: 422085 CREATE TABLE ACCOUNT_NUCLEO_FAMILIARE ( ID INTEGER NOT NULL, ID_ACCOUNT NUMBER, COGNOME VARCHAR2(255 BYTE), NOME VARCHAR2(255 BYTE), DATA_NASCITA DATE, RAPPORTO_PARENTELA INTEGER NOT NULL, CODICE_FISCALE VARCHAR2(255 BYTE) NOT NULL, CONFERMATO INTEGER DEFAULT 0, COMUNE_RESIDENZA VARCHAR2(255 BYTE), PROV_RESIDENZA VARCHAR2(2 BYTE), CAP_RESIDENZA VARCHAR2(5 BYTE), FLAG VARCHAR2(1000 BYTE), PRIORITY INTEGER DEFAULT 0 ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- ACCOUNT_NUCLEO_FAMILIARE_PK (Index) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- CREATE UNIQUE INDEX ACCOUNT_NUCLEO_FAMILIARE_PK ON ACCOUNT_NUCLEO_FAMILIARE (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IDX_ACCOUNT_CODICE_FISCALE (Index) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- CREATE UNIQUE INDEX IDX_ACCOUNT_CODICE_FISCALE ON ACCOUNT_NUCLEO_FAMILIARE (ID_ACCOUNT, CODICE_FISCALE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE ACCOUNT_NUCLEO_FAMILIARE ADD ( CONSTRAINT ACCOUNT_NUCLEO_FAMILIARE_PK PRIMARY KEY (ID) USING INDEX ACCOUNT_NUCLEO_FAMILIARE_PK ENABLE VALIDATE); -- -- AEROPORTI (Table) -- -- Row Count: 45 CREATE TABLE AEROPORTI ( CODICE VARCHAR2(3 BYTE) NOT NULL, NOME VARCHAR2(255 BYTE) NOT NULL, REGIONE NUMBER NOT NULL ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- AEROPORTI_PK (Index) -- -- Dependencies: -- AEROPORTI (Table) -- CREATE UNIQUE INDEX AEROPORTI_PK ON AEROPORTI (CODICE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE AEROPORTI ADD ( CONSTRAINT AEROPORTI_PK PRIMARY KEY (CODICE) USING INDEX AEROPORTI_PK ENABLE VALIDATE); -- -- ALLEGATI (Table) -- -- Row Count: 384193 CREATE TABLE ALLEGATI ( ID INTEGER NOT NULL, ID_DOMANDA INTEGER, FILEPATH VARCHAR2(1000 BYTE), CANCELLATO INTEGER, ID_DOCUMENTO NUMBER, TIPO_DOCUMENTO NUMBER DEFAULT 0, FILESIZE NUMBER, DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP, NOTE VARCHAR2(200 BYTE), NOMEFILEORIGINALE VARCHAR2(255 BYTE), HASH_FILE VARCHAR2(1000 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- ALLEGATI_PK (Index) -- -- Dependencies: -- ALLEGATI (Table) -- CREATE UNIQUE INDEX ALLEGATI_PK ON ALLEGATI (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE ALLEGATI ADD ( CONSTRAINT ALLEGATI_PK PRIMARY KEY (ID) USING INDEX ALLEGATI_PK ENABLE VALIDATE); -- -- ANAG_COMPAGNIE (Table) -- -- Row Count: 48 CREATE TABLE ANAG_COMPAGNIE ( ID INTEGER NOT NULL, NOME VARCHAR2(255 BYTE) NOT NULL, ADESIONE INTEGER DEFAULT 0 NOT NULL, DATA_ADESIONE DATE, PERC_COMPAGNIE NUMBER, DATA_ADEGUAMENTO DATE, ADEGUAMENTO_NATIVI NUMBER, DATA_ADEGUAMENTO_NATIVI DATE ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- ANAG_COMPAGNIE_PK (Index) -- -- Dependencies: -- ANAG_COMPAGNIE (Table) -- CREATE UNIQUE INDEX ANAG_COMPAGNIE_PK ON ANAG_COMPAGNIE (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE ANAG_COMPAGNIE ADD ( CONSTRAINT ANAG_COMPAGNIE_PK PRIMARY KEY (ID) USING INDEX ANAG_COMPAGNIE_PK ENABLE VALIDATE); -- -- ANAG_DICHIARAZIONI (Table) -- -- Row Count: 0 CREATE TABLE ANAG_DICHIARAZIONI ( ID INTEGER NOT NULL, CODICE VARCHAR2(255 BYTE), DESCRIZIONE VARCHAR2(2000 BYTE), CANCELLATO INTEGER DEFAULT 0, POSIZIONE INTEGER DEFAULT 0, OBBLIGO INTEGER DEFAULT 0 ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- ANAG_DICHIARAZIONI_PK (Index) -- -- Dependencies: -- ANAG_DICHIARAZIONI (Table) -- CREATE UNIQUE INDEX ANAG_DICHIARAZIONI_PK ON ANAG_DICHIARAZIONI (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE ANAG_DICHIARAZIONI ADD ( CONSTRAINT ANAG_DICHIARAZIONI_PK PRIMARY KEY (ID) USING INDEX ANAG_DICHIARAZIONI_PK ENABLE VALIDATE); -- -- AUDIT_RICHIESTA_INTEGRAZIONE (Table) -- -- Row Count: 47 CREATE TABLE AUDIT_RICHIESTA_INTEGRAZIONE ( ID_AUDIT NUMBER NOT NULL, ID_INTEGRAZIONE NUMBER NOT NULL, DATA_MODIFICA DATE DEFAULT SYSDATE, STATO_PRECEDENTE VARCHAR2(30 BYTE), STATO_ATTUALE VARCHAR2(30 BYTE), UTENTE_OPERATORE VARCHAR2(100 BYTE), MOTIVO VARCHAR2(1000 BYTE), ORIGINE VARCHAR2(50 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE AUDIT_RICHIESTA_INTEGRAZIONE ADD ( PRIMARY KEY (ID_AUDIT) USING INDEX TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ) ENABLE VALIDATE); -- -- BANDI (Table) -- -- Row Count: 1 CREATE TABLE BANDI ( ID NUMBER NOT NULL, INIZIO_PREPARAZIONE TIMESTAMP(6), FINE_PREPARAZIONE TIMESTAMP(6), INIZIO_CLICKDAY TIMESTAMP(6), FINE_CLICKDAY TIMESTAMP(6), DESCRIZIONE VARCHAR2(255 BYTE), DETTAGLIO VARCHAR2(1000 BYTE), DISPONIBILITA_FINANZIARIA NUMBER(20,4), COEFFICENTE_SFRATTO NUMBER(20,4), COEFFICENTE NUMBER(20,6) DEFAULT 0 ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- BANDI_PK (Index) -- -- Dependencies: -- BANDI (Table) -- CREATE UNIQUE INDEX BANDI_PK ON BANDI (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE BANDI ADD ( CONSTRAINT BANDI_PK PRIMARY KEY (ID) USING INDEX BANDI_PK ENABLE VALIDATE); -- -- COMUNE (Table) -- -- Row Count: 10559 CREATE TABLE COMUNE ( ID NUMBER(5) NOT NULL, CODICE_REGIONE VARCHAR2(3 BYTE), CD_PROVINCIA VARCHAR2(6 BYTE), CODICE_ISTAT VARCHAR2(6 BYTE), DESCRIZIONE VARCHAR2(100 BYTE), CODICE_PROVINCIA VARCHAR2(5 BYTE), PROV VARCHAR2(50 BYTE), COD_CF VARCHAR2(10 BYTE), ATTIVO NUMBER(1), CAP VARCHAR2(20 BYTE), REGIONE VARCHAR2(20 BYTE), SEARCH INTEGER DEFAULT 1 ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- COMUNE_PK (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE UNIQUE INDEX COMUNE_PK ON COMUNE (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE COMUNE ADD ( CONSTRAINT COMUNE_PK PRIMARY KEY (ID) USING INDEX COMUNE_PK ENABLE VALIDATE); -- -- CUSTOMER_SATISFACTION (Table) -- -- Row Count: 22417 CREATE TABLE CUSTOMER_SATISFACTION ( ID NUMBER, CODICE_FISCALE VARCHAR2(16 BYTE) NOT NULL, VALORE NUMBER, DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- CUSTOMER_SATISFACTION_PK (Index) -- -- Dependencies: -- CUSTOMER_SATISFACTION (Table) -- CREATE UNIQUE INDEX CUSTOMER_SATISFACTION_PK ON CUSTOMER_SATISFACTION (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE CUSTOMER_SATISFACTION ADD ( CONSTRAINT CUSTOMER_SATISFACTION_PK PRIMARY KEY (ID) USING INDEX CUSTOMER_SATISFACTION_PK ENABLE VALIDATE); -- -- DOCUMENTI_BANDO (Table) -- -- Row Count: 2 CREATE TABLE DOCUMENTI_BANDO ( ID NUMBER NOT NULL, NOME VARCHAR2(500 BYTE), OBBLIGO NUMBER DEFAULT 0, PRIORITA NUMBER DEFAULT 0, FASE NUMBER DEFAULT 0, CANCELLATO NUMBER DEFAULT 0, TIPO_FIRMATARIO INTEGER DEFAULT 0, ESTENZIONE_FILE VARCHAR2(255 BYTE), VERIFICA_FIRMA_P7M INTEGER DEFAULT 0, FILE_DA_GENERARE INTEGER DEFAULT 0, MODULE VARCHAR2(255 BYTE), OBBLIGO_CONDIZIONATO VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON COLUMN DOCUMENTI_BANDO.TIPO_FIRMATARIO IS '(1 = Legale Rappresentante; 2 = RUP di progetto)'; COMMENT ON COLUMN DOCUMENTI_BANDO.FILE_DA_GENERARE IS 'Se impostato a 1 il file deve essere prima generato'; COMMENT ON COLUMN DOCUMENTI_BANDO.OBBLIGO_CONDIZIONATO IS 'TABELLA|CAMPO|VALORE'; -- -- DOCUMENTI_BANDO_PK (Index) -- -- Dependencies: -- DOCUMENTI_BANDO (Table) -- CREATE UNIQUE INDEX DOCUMENTI_BANDO_PK ON DOCUMENTI_BANDO (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOCUMENTI_BANDO ADD ( CONSTRAINT DOCUMENTI_BANDO_PK PRIMARY KEY (ID) USING INDEX DOCUMENTI_BANDO_PK ENABLE VALIDATE); -- -- DOMANDA (Table) -- -- Row Count: 412483 CREATE TABLE DOMANDA ( ID INTEGER NOT NULL, DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL, IBAN VARCHAR2(50 BYTE), ISTITUTO_CREDITO VARCHAR2(100 BYTE), FILIALE_CREDITO VARCHAR2(100 BYTE), ID_ACCOUNT NUMBER NOT NULL, DATA_RILASCIO_ISEE DATE, ISEE INTEGER DEFAULT 0 NOT NULL, STATO INTEGER DEFAULT 0 NOT NULL, NOTE VARCHAR2(3000 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- DOMANDA_PK (Index) -- -- Dependencies: -- DOMANDA (Table) -- CREATE UNIQUE INDEX DOMANDA_PK ON DOMANDA (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ACCOUNT (Index) -- -- Dependencies: -- DOMANDA (Table) -- CREATE UNIQUE INDEX IX_ACCOUNT ON DOMANDA (ID_ACCOUNT) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOMANDA ADD ( CONSTRAINT DOMANDA_PK PRIMARY KEY (ID) USING INDEX DOMANDA_PK ENABLE VALIDATE); -- -- DOMANDA_DICHIARAZIONI (Table) -- -- Row Count: 0 CREATE TABLE DOMANDA_DICHIARAZIONI ( ID_DOMANDA INTEGER, ID_ANAG_DICHIARAZIONI INTEGER ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- DOMANDA_DICHIARAZIONI_PK (Index) -- -- Dependencies: -- DOMANDA_DICHIARAZIONI (Table) -- CREATE UNIQUE INDEX DOMANDA_DICHIARAZIONI_PK ON DOMANDA_DICHIARAZIONI (ID_DOMANDA, ID_ANAG_DICHIARAZIONI) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOMANDA_DICHIARAZIONI ADD ( CONSTRAINT DOMANDA_DICHIARAZIONI_PK PRIMARY KEY (ID_DOMANDA, ID_ANAG_DICHIARAZIONI) USING INDEX DOMANDA_DICHIARAZIONI_PK ENABLE VALIDATE); -- -- DOMANDA_EMAIL (Table) -- -- Dependencies: -- DOMANDA (Table) -- -- Row Count: 0 CREATE TABLE DOMANDA_EMAIL ( ID INTEGER NOT NULL, ID_DOMANDA INTEGER NOT NULL, EMAIL VARCHAR2(255 BYTE) NOT NULL, ESITO VARCHAR2(255 BYTE), DATA_INVIO TIMESTAMP(6), STATO INTEGER DEFAULT 0 NOT NULL ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- DOMANDA_EMAIL_PK (Index) -- -- Dependencies: -- DOMANDA_EMAIL (Table) -- CREATE UNIQUE INDEX DOMANDA_EMAIL_PK ON DOMANDA_EMAIL (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOMANDA_EMAIL ADD ( CONSTRAINT DOMANDA_EMAIL_PK PRIMARY KEY (ID) USING INDEX DOMANDA_EMAIL_PK ENABLE VALIDATE); -- -- DOMANDA_SCONTI (Table) -- -- Row Count: 1960356 CREATE TABLE DOMANDA_SCONTI ( ID INTEGER NOT NULL, ID_DOMANDA NUMBER NOT NULL, COGNOME VARCHAR2(255 BYTE) NOT NULL, NOME VARCHAR2(255 BYTE) NOT NULL, DATA_NASCITA DATE NOT NULL, RAPPORTO_PARENTELA INTEGER NOT NULL, CODICE_FISCALE VARCHAR2(255 BYTE) NOT NULL, COMUNE_RESIDENZA VARCHAR2(255 BYTE), PROV_RESIDENZA VARCHAR2(2 BYTE), CAP_RESIDENZA VARCHAR2(5 BYTE), COMPAGNIA_AEREA VARCHAR2(255 BYTE), NUMERO_VOLO VARCHAR2(255 BYTE) NOT NULL, DATA_VOLO DATE NOT NULL, COSTO_TRATTA FLOAT(126) NOT NULL, AEROPORTO_PARTENZA VARCHAR2(255 BYTE) NOT NULL, AEROPORTO_DESTINAZIONE VARCHAR2(255 BYTE) NOT NULL, FILEPATH_BIGLIETTO VARCHAR2(1000 BYTE), FILEPATH_CARTAIMBARCO VARCHAR2(1000 BYTE), ISEE INTEGER DEFAULT 0 NOT NULL, DATA_RILASCIO_ISEE DATE, FILEPATH_ISEE VARCHAR2(1000 BYTE), IBAN VARCHAR2(50 BYTE), ISTITUTO_CREDITO VARCHAR2(100 BYTE), FILIALE_CREDITO VARCHAR2(100 BYTE), STATO NUMBER DEFAULT 0 NOT NULL, DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL, ID_UID_FIREBASE INTEGER, DATA_ESPORTAZIONE TIMESTAMP(6), DATA_ESITO TIMESTAMP(6), DATA_EROGAZIONE TIMESTAMP(6), NOTE VARCHAR2(3000 BYTE), AEROPORTO_PARTENZA_CODICE VARCHAR2(3 BYTE), AEROPORTO_DESTINAZIONE_CODICE VARCHAR2(3 BYTE), COMPAGNIA_ID INTEGER, DATA_ACQUISTO DATE, SCONTO_TOTALE NUMBER(10,4) DEFAULT NULL, LOTTO INTEGER DEFAULT 0 NOT NULL, FLAG VARCHAR2(1000 BYTE), PRIORITY INTEGER DEFAULT 0, FORZA_RESIDENZA INTEGER DEFAULT 0, CITTADINANZA VARCHAR2(255 CHAR), FILEPATH_BIGLIETTO_HASH VARCHAR2(1000 CHAR), FILEPATH_CARTAIMBARCO_HASH VARCHAR2(1000 CHAR) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON COLUMN DOMANDA_SCONTI.DATA_ACQUISTO IS 'Data di acquisto del biglietto aereo'; COMMENT ON COLUMN DOMANDA_SCONTI.FORZA_RESIDENZA IS '1 = Forza il calcolo dello sconto residenza'; -- -- DOMANDA_SCONTI_PK (Index) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- CREATE UNIQUE INDEX DOMANDA_SCONTI_PK ON DOMANDA_SCONTI (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- KY_SCONTI_IX (Index) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- CREATE UNIQUE INDEX KY_SCONTI_IX ON DOMANDA_SCONTI (CODICE_FISCALE, NUMERO_VOLO, DATA_VOLO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOMANDA_SCONTI ADD ( CONSTRAINT DOMANDA_SCONTI_PK PRIMARY KEY (ID) USING INDEX DOMANDA_SCONTI_PK ENABLE VALIDATE); -- -- DOMANDA_SCONTI_CONTROLLI (Table) -- -- Row Count: 1546 CREATE TABLE DOMANDA_SCONTI_CONTROLLI ( ID NUMBER, LOTTO NUMBER, ID_DOMANDA_SCONTI NUMBER, DATA_ESITO TIMESTAMP(6), ID_UID_FIREBASE_ADMIN NUMBER, ESITO NUMBER, DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- DOMANDA_SCONTI_CONTROLLI_PK (Index) -- -- Dependencies: -- DOMANDA_SCONTI_CONTROLLI (Table) -- CREATE UNIQUE INDEX DOMANDA_SCONTI_CONTROLLI_PK ON DOMANDA_SCONTI_CONTROLLI (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ID_DOMANDA_SCONTI (Index) -- -- Dependencies: -- DOMANDA_SCONTI_CONTROLLI (Table) -- CREATE UNIQUE INDEX IX_ID_DOMANDA_SCONTI ON DOMANDA_SCONTI_CONTROLLI (ID_DOMANDA_SCONTI) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOMANDA_SCONTI_CONTROLLI ADD ( CONSTRAINT DOMANDA_SCONTI_CONTROLLI_PK PRIMARY KEY (ID) USING INDEX DOMANDA_SCONTI_CONTROLLI_PK ENABLE VALIDATE); -- -- DOMANDA_SCONTI_IMPORTI_LOG (Table) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- -- Row Count: 0 CREATE TABLE DOMANDA_SCONTI_IMPORTI_LOG ( ID NUMBER, ID_DOMANDA_SCONTI NUMBER, ID_DOMANDA NUMBER, COSTO_TRATTA FLOAT(126), DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP, ID_UID_FIREBASE_ADMIN NUMBER, SCONTO_TOTALE FLOAT(126) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- DOMANDA_SCONTI_IMPORTI_LOG_PK (Index) -- -- Dependencies: -- DOMANDA_SCONTI_IMPORTI_LOG (Table) -- CREATE UNIQUE INDEX DOMANDA_SCONTI_IMPORTI_LOG_PK ON DOMANDA_SCONTI_IMPORTI_LOG (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOMANDA_SCONTI_IMPORTI_LOG ADD ( CONSTRAINT DOMANDA_SCONTI_IMPORTI_LOG_PK PRIMARY KEY (ID) USING INDEX DOMANDA_SCONTI_IMPORTI_LOG_PK ENABLE VALIDATE); -- -- DOMANDA_SCONTI_INTEGRAZIONE (Table) -- -- Row Count: 15390 CREATE TABLE DOMANDA_SCONTI_INTEGRAZIONE ( ID_RICHIESTA INTEGER, LOTTO_INTEGRAZIONE INTEGER ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ID_RICHIESTA (Index) -- -- Dependencies: -- DOMANDA_SCONTI_INTEGRAZIONE (Table) -- CREATE UNIQUE INDEX IX_ID_RICHIESTA ON DOMANDA_SCONTI_INTEGRAZIONE (ID_RICHIESTA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE DOMANDA_SCONTI_INTEGRAZIONE ADD ( CHECK ("ID_RICHIESTA" IS NOT NULL) DISABLE NOVALIDATE); -- -- ESPORTAZIONI (Table) -- -- Row Count: 106 CREATE TABLE ESPORTAZIONI ( LOTTO INTEGER NOT NULL, DATA_CREAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP, DATA_FILTRO DATE, NUMERO_DRS VARCHAR2(255 BYTE), DATA_DRS DATE, FILEPATH VARCHAR2(1000 BYTE), TIPO INTEGER, IMPORTO_MANDATO VARCHAR2(255 BYTE), NOTE VARCHAR2(1000 BYTE), MESE_RIFERIMENTO VARCHAR2(255 BYTE), CAPITOLO_BILANCIO VARCHAR2(255 BYTE), ANNO_FINANZIARIO VARCHAR2(255 BYTE), CODICE_FINANZIARIO VARCHAR2(255 BYTE), FILEPATH_DRS VARCHAR2(1000 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- ESPORTAZIONI_PK (Index) -- -- Dependencies: -- ESPORTAZIONI (Table) -- CREATE UNIQUE INDEX ESPORTAZIONI_PK ON ESPORTAZIONI (LOTTO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE ESPORTAZIONI ADD ( CONSTRAINT ESPORTAZIONI_PK PRIMARY KEY (LOTTO) USING INDEX ESPORTAZIONI_PK ENABLE VALIDATE); -- -- FAQ (Table) -- -- Row Count: 4 CREATE TABLE FAQ ( ID NUMBER NOT NULL, ID_UID_FIREBASE_ADMIN NUMBER, OGGETTO VARCHAR2(1000 BYTE), PUBBLICATA NUMBER DEFAULT 0 NOT NULL, CANCELLATO NUMBER DEFAULT 0 NOT NULL, DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP, ID_CATEGORIA NUMBER, BANDO NUMBER DEFAULT 0, DOMANDA VARCHAR2(1000 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- FAQ_PK (Index) -- -- Dependencies: -- FAQ (Table) -- CREATE UNIQUE INDEX FAQ_PK ON FAQ (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE FAQ ADD ( CONSTRAINT FAQ_PK PRIMARY KEY (ID) USING INDEX FAQ_PK ENABLE VALIDATE); -- -- FAQ_UTENTI (Table) -- -- Row Count: 1423 CREATE TABLE FAQ_UTENTI ( ID NUMBER NOT NULL, NOME VARCHAR2(200 BYTE), COGNOME VARCHAR2(200 BYTE), EMAIL VARCHAR2(100 BYTE), STATO NUMBER DEFAULT 0 NOT NULL, DOMANDA VARCHAR2(1000 BYTE), ID_CATEGORIA NUMBER, BANDO NUMBER DEFAULT 0, DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP, ACCOUNT VARCHAR2(20 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- FAQ_UTENTI_PK (Index) -- -- Dependencies: -- FAQ_UTENTI (Table) -- CREATE UNIQUE INDEX FAQ_UTENTI_PK ON FAQ_UTENTI (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE FAQ_UTENTI ADD ( CONSTRAINT FAQ_UTENTI_PK PRIMARY KEY (ID) USING INDEX FAQ_UTENTI_PK ENABLE VALIDATE); -- -- IMPERSONIFICAZIONE (Table) -- -- Row Count: 38 CREATE TABLE IMPERSONIFICAZIONE ( ID NUMBER, DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP, UID_FIREBASE_ADMIN VARCHAR2(255 BYTE), CODICE_FISCALE VARCHAR2(16 BYTE), USED INTEGER DEFAULT 0 ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE IMPERSONIFICAZIONE ADD ( PRIMARY KEY (ID) USING INDEX TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ) ENABLE VALIDATE); -- -- INTEGRAZIONI_EMAIL_QUEUE (Table) -- -- Row Count: 82 CREATE TABLE INTEGRAZIONI_EMAIL_QUEUE ( ID NUMBER, ID_RICHIESTA INTEGER DEFAULT 0, DESTINATARIO VARCHAR2(255 BYTE) NOT NULL, OGGETTO VARCHAR2(255 BYTE) NOT NULL, CORPO CLOB NOT NULL, STATO INTEGER DEFAULT 0, TENTATIVI NUMBER DEFAULT 0, ERRORE_MESSAGGIO VARCHAR2(1000 BYTE), DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP, DATA_INVIO TIMESTAMP(6) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE INTEGRAZIONI_EMAIL_QUEUE ADD ( PRIMARY KEY (ID) USING INDEX TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ) ENABLE VALIDATE); -- -- LOGS (Table) -- -- Row Count: 10386414 CREATE TABLE LOGS ( ID NUMBER(38) NOT NULL, ID_OPERATORE VARCHAR2(255 BYTE), IP VARCHAR2(255 BYTE), USERNAME VARCHAR2(255 BYTE), DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL, MODULE VARCHAR2(255 BYTE), ACTION VARCHAR2(255 BYTE), INFO CLOB, OLDVALUE CLOB, OPERATION CLOB, IMPERSONIFICAZIONE_GUID VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- LOGS_PK (Index) -- -- Dependencies: -- LOGS (Table) -- CREATE UNIQUE INDEX LOGS_PK ON LOGS (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- LOGS_BE (Table) -- -- Row Count: 3017 CREATE TABLE LOGS_BE ( ID NUMBER(38) NOT NULL, ID_OPERATORE VARCHAR2(255 BYTE), IP VARCHAR2(255 BYTE), USERNAME VARCHAR2(255 BYTE), DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL, MODULE VARCHAR2(255 BYTE), ACTION VARCHAR2(255 BYTE), INFO CLOB, OLDVALUE CLOB, OPERATION CLOB ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- LOGS_BE_PK (Index) -- -- Dependencies: -- LOGS_BE (Table) -- CREATE UNIQUE INDEX LOGS_BE_PK ON LOGS_BE (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- LOGS_P7M (Table) -- -- Row Count: 0 CREATE TABLE LOGS_P7M ( ID INTEGER, ID_DOMANDA INTEGER, ERRORE VARCHAR2(4000 BYTE), FILEPATH VARCHAR2(4000 BYTE), DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP, FASE NUMBER ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- LOGS_P7M_PK (Index) -- -- Dependencies: -- LOGS_P7M (Table) -- CREATE UNIQUE INDEX LOGS_P7M_PK ON LOGS_P7M (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- MD_APPLICATIONFILES (Table) -- -- Row Count: 0 CREATE TABLE MD_APPLICATIONFILES ( ID NUMBER NOT NULL, APPLICATIONS_ID_FK NUMBER NOT NULL, NAME VARCHAR2(200 BYTE) NOT NULL, URI VARCHAR2(4000 BYTE) NOT NULL, TYPE VARCHAR2(100 BYTE) NOT NULL, STATE VARCHAR2(100 BYTE) NOT NULL, LANGUAGE VARCHAR2(100 BYTE), LOC NUMBER, SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(4000 BYTE), UPDATED_ON DATE, UPDATED_BY VARCHAR2(4000 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_APPLICATIONFILES IS 'Holds a tuple for each file that is being processed whether it is changed or not.'; COMMENT ON COLUMN MD_APPLICATIONFILES.NAME IS 'file name //OBJECTNAME'; COMMENT ON COLUMN MD_APPLICATIONFILES.URI IS 'The uri is the part of the file url after the base dir has been removed. See MD_APPLICATION for base dir'; COMMENT ON COLUMN MD_APPLICATIONFILES.TYPE IS 'This will denote the type of file we have, including DIR, FILE (text), BINARY, IGNORE (where we choose to ignore files)'; COMMENT ON COLUMN MD_APPLICATIONFILES.STATE IS 'State will be how this file is operated on. For example. it will be OPEN, NEW, FIXED, IGNORED, REVIEWED, COMPLETE'; COMMENT ON COLUMN MD_APPLICATIONFILES.LANGUAGE IS 'Language of the file that has been processed.'; COMMENT ON COLUMN MD_APPLICATIONFILES.SECURITY_GROUP_ID IS 'APEX'; COMMENT ON COLUMN MD_APPLICATIONFILES.CREATED_ON IS 'APEX'; COMMENT ON COLUMN MD_APPLICATIONFILES.CREATED_BY IS 'APEX'; COMMENT ON COLUMN MD_APPLICATIONFILES.UPDATED_ON IS 'APEX'; COMMENT ON COLUMN MD_APPLICATIONFILES.UPDATED_BY IS 'APEX'; -- -- MD_APPLICATIONFILES_PK (Index) -- -- Dependencies: -- MD_APPLICATIONFILES (Table) -- CREATE UNIQUE INDEX MD_APPLICATIONFILES_PK ON MD_APPLICATIONFILES (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_APPLICATIONFILES ADD ( CONSTRAINT MD_APPLICATIONFILES_PK PRIMARY KEY (ID) USING INDEX MD_APPLICATIONFILES_PK ENABLE VALIDATE); -- -- MD_APPLICATIONS (Table) -- -- Row Count: 0 CREATE TABLE MD_APPLICATIONS ( ID NUMBER NOT NULL, NAME VARCHAR2(4000 BYTE), DESCRIPTION VARCHAR2(4000 BYTE), BASE_DIR VARCHAR2(4000 BYTE), OUTPUT_DIR VARCHAR2(4000 BYTE), BACKUP_DIR VARCHAR2(4000 BYTE), INPLACE NUMBER, PROJECT_ID_FK NUMBER NOT NULL, SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(255 BYTE), LAST_UPDATED_ON DATE, LAST_UPDATED_BY VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_APPLICATIONS IS 'This is the base table for application projects. It holds the base information for applications associated with a database'; COMMENT ON COLUMN MD_APPLICATIONS.ID IS 'Primary Key'; COMMENT ON COLUMN MD_APPLICATIONS.NAME IS 'Name of the application suite //OBJECTNAME'; COMMENT ON COLUMN MD_APPLICATIONS.DESCRIPTION IS 'Overview of what the application does.'; COMMENT ON COLUMN MD_APPLICATIONS.BASE_DIR IS 'This is the base src directory for the application. It could be an svn checkout, a clearcase view or something similar'; COMMENT ON COLUMN MD_APPLICATIONS.OUTPUT_DIR IS 'This is the output directory where the scanner will present the converted files, if there are converted or modified.'; COMMENT ON COLUMN MD_APPLICATIONS.BACKUP_DIR IS 'This is the directory in which the application files are backed up if a backp is chosen'; COMMENT ON COLUMN MD_APPLICATIONS.INPLACE IS 'Designates whether the changes have been made inplace, in the source directory or not'; COMMENT ON COLUMN MD_APPLICATIONS.PROJECT_ID_FK IS 'project of the database(s) this application relates to'; -- -- MD_APPLICATIONS_PK (Index) -- -- Dependencies: -- MD_APPLICATIONS (Table) -- CREATE UNIQUE INDEX MD_APPLICATIONS_PK ON MD_APPLICATIONS (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_APPLICATIONS ADD ( CONSTRAINT MD_APPLICATIONS_PK PRIMARY KEY (ID) USING INDEX MD_APPLICATIONS_PK ENABLE VALIDATE); -- -- MD_CATALOGS (Table) -- -- Row Count: 0 CREATE TABLE MD_CATALOGS ( ID NUMBER NOT NULL, CONNECTION_ID_FK NUMBER NOT NULL, CATALOG_NAME VARCHAR2(4000 BYTE), DUMMY_FLAG CHAR(1 BYTE) DEFAULT 'N', NATIVE_SQL CLOB, NATIVE_KEY VARCHAR2(4000 BYTE), COMMENTS VARCHAR2(4000 BYTE), SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(255 BYTE), LAST_UPDATED_ON DATE, LAST_UPDATED_BY VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_CATALOGS IS 'Store catalogs in this table.'; COMMENT ON COLUMN MD_CATALOGS.CONNECTION_ID_FK IS 'Foreign key into the connections table - Shows what connection this catalog belongs to //PARENTFIELD'; COMMENT ON COLUMN MD_CATALOGS.CATALOG_NAME IS 'Name of the catalog //OBJECTNAME'; COMMENT ON COLUMN MD_CATALOGS.DUMMY_FLAG IS 'Flag to show if this catalog is a "dummy" catalog which is used as a placeholder for those platforms that do not support catalogs. ''N'' signifies that this is NOT a dummy catalog, while ''Y'' signifies that it is.'; COMMENT ON COLUMN MD_CATALOGS.NATIVE_SQL IS 'THe SQL used to create this catalog'; COMMENT ON COLUMN MD_CATALOGS.NATIVE_KEY IS 'A unique identifier used to identify the catalog at source.'; -- -- MD_CATALOGS_PK (Index) -- -- Dependencies: -- MD_CATALOGS (Table) -- CREATE UNIQUE INDEX MD_CATALOGS_PK ON MD_CATALOGS (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_CATALOGS ADD ( CONSTRAINT MD_CATALOGS_PK PRIMARY KEY (ID) USING INDEX MD_CATALOGS_PK ENABLE VALIDATE); -- -- MD_FILE_ARTIFACTS (Table) -- -- Row Count: 0 CREATE TABLE MD_FILE_ARTIFACTS ( ID NUMBER CONSTRAINT MD_APP_FILE_ART_NONULL NOT NULL, APPLICATIONFILES_ID NUMBER CONSTRAINT MD_APPL_FILE_FK_NONULL NOT NULL, PATTERN VARCHAR2(4000 BYTE), STRING_FOUND VARCHAR2(4000 BYTE), STRING_REPLACED VARCHAR2(4000 BYTE), TYPE VARCHAR2(200 BYTE), STATUS VARCHAR2(4000 BYTE), LINE NUMBER, PATTERN_START NUMBER, PATTERN_END NUMBER, DUE_DATE DATE, DB_TYPE VARCHAR2(100 BYTE), CODE_TYPE VARCHAR2(1000 BYTE), DESCRIPTION VARCHAR2(4000 BYTE), PRIORITY INTEGER, SECURITY_GROUP_ID VARCHAR2(20 BYTE) DEFAULT '0' NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(4000 BYTE), LAST_UPDATED DATE, LAST_UPDATED_BY VARCHAR2(4000 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_FILE_ARTIFACTS IS 'Holds a tuple for each interesting thing the scanner finds in a file'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.PATTERN IS 'Pattern used to search source file for interesting artifiacts'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.STRING_FOUND IS 'String found in source from the pattern supplied'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.STRING_REPLACED IS 'This is the string which replace the string found if it was replaced.'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.TYPE IS 'This is the type of the replacement. It could be a straight replace from a replacement pattern, or we could have passed the string to a translator which would change the string depending on the database.'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.STATUS IS 'Pattern used to search source file for interesting artifiacts'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.DUE_DATE IS 'Due date is used by the TODO mechanism to manage the validation and work to complete this change'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.DB_TYPE IS 'Source database calls type'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.CODE_TYPE IS 'Source code db api, like dblib, jdbc'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.DESCRIPTION IS 'This is a description of the artifact which will have a default generated by the scanner and then can be modified by the user to be more appropriate for their use'; COMMENT ON COLUMN MD_FILE_ARTIFACTS.PRIORITY IS 'The priority is set for the TODOs so they can be managed by the user'; -- -- MD_FILE_ARTIFACTS_PK (Index) -- -- Dependencies: -- MD_FILE_ARTIFACTS (Table) -- CREATE UNIQUE INDEX MD_FILE_ARTIFACTS_PK ON MD_FILE_ARTIFACTS (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_FILE_ARTIFACTS ADD ( CONSTRAINT MD_FILE_ARTIFACTS_PK PRIMARY KEY (ID) USING INDEX MD_FILE_ARTIFACTS_PK ENABLE VALIDATE); -- -- MD_GROUP_MEMBERS (Table) -- -- Row Count: 0 CREATE TABLE MD_GROUP_MEMBERS ( ID NUMBER NOT NULL, GROUP_ID_FK NUMBER NOT NULL, USER_ID_FK NUMBER, GROUP_MEMBER_ID_FK NUMBER, SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(255 BYTE), LAST_UPDATED_ON DATE, LAST_UPDATED_BY VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_GROUP_MEMBERS IS 'This table is used to store the members of a group.'; COMMENT ON COLUMN MD_GROUP_MEMBERS.ID IS 'Primary Key'; COMMENT ON COLUMN MD_GROUP_MEMBERS.USER_ID_FK IS 'Id of member'; COMMENT ON COLUMN MD_GROUP_MEMBERS.GROUP_MEMBER_ID_FK IS 'groups can be members of groups'; -- -- MD_GROUP_MEMBERS_PK (Index) -- -- Dependencies: -- MD_GROUP_MEMBERS (Table) -- CREATE UNIQUE INDEX MD_GROUP_MEMBERS_PK ON MD_GROUP_MEMBERS (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_GROUP_MEMBERS ADD ( CONSTRAINT MD_GROUP_MEMBERS_PK PRIMARY KEY (ID) USING INDEX MD_GROUP_MEMBERS_PK ENABLE VALIDATE); -- -- MD_REPOVERSIONS (Table) -- -- Row Count: 0 CREATE TABLE MD_REPOVERSIONS ( REVISION NUMBER NOT NULL ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_REPOVERSIONS IS 'This table is used to version this schema for future requirements.'; -- -- MD_SEQUENCES (Table) -- -- Row Count: 0 CREATE TABLE MD_SEQUENCES ( ID NUMBER NOT NULL, SCHEMA_ID_FK NUMBER NOT NULL, NAME VARCHAR2(4000 BYTE) NOT NULL, SEQ_START NUMBER NOT NULL, INCR NUMBER DEFAULT 1 NOT NULL, NATIVE_SQL CLOB, NATIVE_KEY VARCHAR2(4000 BYTE), COMMENTS VARCHAR2(4000 BYTE), SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(255 BYTE) DEFAULT '0' NOT NULL, LAST_UPDATED_ON DATE, LAST_UPDATED_BY VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_SEQUENCES IS 'For storing information on sequences.'; COMMENT ON COLUMN MD_SEQUENCES.ID IS 'Primary Key'; COMMENT ON COLUMN MD_SEQUENCES.SCHEMA_ID_FK IS 'The schema to which this object belongs. //PARENTFIELD'; COMMENT ON COLUMN MD_SEQUENCES.NAME IS 'Name of this sequence //OBJECTNAME'; COMMENT ON COLUMN MD_SEQUENCES.SEQ_START IS 'Starting point of the sequence'; COMMENT ON COLUMN MD_SEQUENCES.INCR IS 'Increment value of the sequence'; -- -- MD_TABLESPACES (Table) -- -- Row Count: 0 CREATE TABLE MD_TABLESPACES ( ID NUMBER NOT NULL, SCHEMA_ID_FK NUMBER NOT NULL, TABLESPACE_NAME VARCHAR2(4000 BYTE), NATIVE_SQL CLOB, NATIVE_KEY VARCHAR2(4000 BYTE), COMMENTS VARCHAR2(4000 BYTE), SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(255 BYTE), LAST_UPDATED_ON DATE, LAST_UPDATED_BY VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_TABLESPACES IS 'For storing information about tablespaces.'; COMMENT ON COLUMN MD_TABLESPACES.ID IS 'Primary Key'; COMMENT ON COLUMN MD_TABLESPACES.SCHEMA_ID_FK IS 'Schema to which this tablespace belongs //PARENTFIELD'; COMMENT ON COLUMN MD_TABLESPACES.TABLESPACE_NAME IS 'Name of the table space //OBJECTNAME'; COMMENT ON COLUMN MD_TABLESPACES.NATIVE_SQL IS 'The SQL used to create this tablespace'; COMMENT ON COLUMN MD_TABLESPACES.NATIVE_KEY IS 'A unique identifier for this object at source'; -- -- MD_TABLESPACES_PK (Index) -- -- Dependencies: -- MD_TABLESPACES (Table) -- CREATE UNIQUE INDEX MD_TABLESPACES_PK ON MD_TABLESPACES (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_TABLESPACES ADD ( CONSTRAINT MD_TABLESPACES_PK PRIMARY KEY (ID) USING INDEX MD_TABLESPACES_PK ENABLE VALIDATE); -- -- MD_USERS (Table) -- -- Row Count: 0 CREATE TABLE MD_USERS ( ID NUMBER NOT NULL, SCHEMA_ID_FK NUMBER NOT NULL, USERNAME VARCHAR2(4000 BYTE) NOT NULL, PASSWORD VARCHAR2(4000 BYTE), NATIVE_SQL CLOB, NATIVE_KEY VARCHAR2(4000 BYTE), COMMENTS VARCHAR2(4000 BYTE), SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(255 BYTE), LAST_UPDATED_ON DATE, LAST_UPDATED_BY VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_USERS IS 'User information.'; COMMENT ON COLUMN MD_USERS.ID IS 'Primary Key'; COMMENT ON COLUMN MD_USERS.SCHEMA_ID_FK IS 'Shema in which this object belongs //PARENTFIELD'; COMMENT ON COLUMN MD_USERS.USERNAME IS 'Username for login //OBJECTNAME'; COMMENT ON COLUMN MD_USERS.PASSWORD IS 'Password for login'; COMMENT ON COLUMN MD_USERS.NATIVE_SQL IS 'SQL Used to create this object at source'; COMMENT ON COLUMN MD_USERS.NATIVE_KEY IS 'Unique identifier for this object at source.'; -- -- MD_USERS_PK (Index) -- -- Dependencies: -- MD_USERS (Table) -- CREATE UNIQUE INDEX MD_USERS_PK ON MD_USERS (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_USERS ADD ( CONSTRAINT MD_USERS_PK PRIMARY KEY (ID) USING INDEX MD_USERS_PK ENABLE VALIDATE); -- -- MD_USER_PRIVILEGES (Table) -- -- Row Count: 0 CREATE TABLE MD_USER_PRIVILEGES ( ID NUMBER NOT NULL, USER_ID_FK NUMBER NOT NULL, PRIVILEGE_ID_FK NUMBER, SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL, CREATED_ON DATE DEFAULT sysdate NOT NULL, CREATED_BY VARCHAR2(255 BYTE), LAST_UPDATED_ON DATE, LAST_UDPATED_BY VARCHAR2(255 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); COMMENT ON TABLE MD_USER_PRIVILEGES IS 'This table stores privileges granted to individual users'; COMMENT ON COLUMN MD_USER_PRIVILEGES.ID IS 'Primary Key'; COMMENT ON COLUMN MD_USER_PRIVILEGES.USER_ID_FK IS 'User'; COMMENT ON COLUMN MD_USER_PRIVILEGES.PRIVILEGE_ID_FK IS 'Privilege'; -- -- MD_USER_PRIVILEGES_PK (Index) -- -- Dependencies: -- MD_USER_PRIVILEGES (Table) -- CREATE UNIQUE INDEX MD_USER_PRIVILEGES_PK ON MD_USER_PRIVILEGES (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE MD_USER_PRIVILEGES ADD ( CONSTRAINT MD_USER_PRIVILEGES_PK PRIMARY KEY (ID) USING INDEX MD_USER_PRIVILEGES_PK ENABLE VALIDATE); -- -- RICHIESTA_INTEGRAZIONE (Table) -- -- Row Count: 35 CREATE TABLE RICHIESTA_INTEGRAZIONE ( ID NUMBER, ID_DOMANDA_SCONTI NUMBER NOT NULL, DATA_RICHIESTA TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL, DESCRIZIONE_RICHIESTA VARCHAR2(1000 BYTE), NUMERO_PROTOCOLLO VARCHAR2(255 BYTE), PROTOCOLLO_JSON CLOB, DATA_PROTOCOLLO TIMESTAMP(6), FILEPATH_PDF_PROTOCOLLATO VARCHAR2(500 BYTE), DATA_INVIO_NOTIFICA DATE, SCADENZA DATE, FILEPATH_RISPOSTA VARCHAR2(500 BYTE), DATA_CARICAMENTO DATE, STATO VARCHAR2(30 BYTE), NOTE_OPERATORE VARCHAR2(1000 BYTE), DATA_VALIDAZIONE TIMESTAMP(6), OPERATORE_VALIDAZIONE VARCHAR2(100 BYTE), OPERATORE_RICHIESTA INTEGER, NOTE_UTENTE VARCHAR2(1000 BYTE) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE RICHIESTA_INTEGRAZIONE ADD ( PRIMARY KEY (ID) USING INDEX TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ) ENABLE VALIDATE); -- -- SPID_ACCESSI (Table) -- -- Row Count: 4273336 CREATE TABLE SPID_ACCESSI ( ID NUMBER NOT NULL, CODICE_FISCALE VARCHAR2(30 BYTE), INRESPONSETO VARCHAR2(200 BYTE), AUTHNINSTANT VARCHAR2(200 BYTE), DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- SPID_ACCESSI_PK (Index) -- -- Dependencies: -- SPID_ACCESSI (Table) -- CREATE UNIQUE INDEX SPID_ACCESSI_PK ON SPID_ACCESSI (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- UID_FIREBASE_ADMIN (Table) -- -- Row Count: 20 CREATE TABLE UID_FIREBASE_ADMIN ( ID NUMBER NOT NULL, GUID VARCHAR2(1000 BYTE), EMAIL VARCHAR2(255 BYTE), NOME VARCHAR2(255 BYTE), COGNOME VARCHAR2(255 BYTE), SUPER_USER INTEGER NOT NULL, GROUP_ID INTEGER DEFAULT 0, VERIFICATO INTEGER DEFAULT 0, CODICE_FISCALE VARCHAR2(16 CHAR) ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- UID_FIREBASE_ADMIN_PK (Index) -- -- Dependencies: -- UID_FIREBASE_ADMIN (Table) -- CREATE UNIQUE INDEX UID_FIREBASE_ADMIN_PK ON UID_FIREBASE_ADMIN (ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE UID_FIREBASE_ADMIN ADD ( CONSTRAINT UID_FIREBASE_ADMIN_PK PRIMARY KEY (ID) USING INDEX UID_FIREBASE_ADMIN_PK ENABLE VALIDATE); -- -- FAQ_INDEX1 (Index) -- -- Dependencies: -- FAQ (Table) -- CREATE INDEX FAQ_INDEX1 ON FAQ (ID_UID_FIREBASE_ADMIN) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- FAQ_INDEX2 (Index) -- -- Dependencies: -- FAQ (Table) -- CREATE INDEX FAQ_INDEX2 ON FAQ (PUBBLICATA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- FAQ_INDEX3 (Index) -- -- Dependencies: -- FAQ (Table) -- CREATE INDEX FAQ_INDEX3 ON FAQ (CANCELLATO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- FAQ_INDEX4 (Index) -- -- Dependencies: -- FAQ (Table) -- CREATE INDEX FAQ_INDEX4 ON FAQ (ID_CATEGORIA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IDX_COD_BELFIORE (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE INDEX IDX_COD_BELFIORE ON COMUNE (COD_CF) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IDX_ID_DOMANDA (Index) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- CREATE INDEX IDX_ID_DOMANDA ON DOMANDA_SCONTI (ID_DOMANDA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ACC_ANAG_CF (Index) -- -- Dependencies: -- ACCOUNT_ANAGRAFICA (Table) -- CREATE INDEX IX_ACC_ANAG_CF ON ACCOUNT_ANAGRAFICA (CODICE_FISCALE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ACC_ANAG_DATA_REC (Index) -- -- Dependencies: -- ACCOUNT_ANAGRAFICA (Table) -- CREATE INDEX IX_ACC_ANAG_DATA_REC ON ACCOUNT_ANAGRAFICA (DATA_REGISTRAZIONE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ALLEGATI_DOCUMENTO (Index) -- -- Dependencies: -- ALLEGATI (Table) -- CREATE INDEX IX_ALLEGATI_DOCUMENTO ON ALLEGATI (ID_DOCUMENTO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ALLEGATI_DOMANDA (Index) -- -- Dependencies: -- ALLEGATI (Table) -- CREATE INDEX IX_ALLEGATI_DOMANDA ON ALLEGATI (ID_DOMANDA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ALLEGATI_TIPODOCUMENTO (Index) -- -- Dependencies: -- ALLEGATI (Table) -- CREATE INDEX IX_ALLEGATI_TIPODOCUMENTO ON ALLEGATI (TIPO_DOCUMENTO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_AUTORIZZAZIONE (Index) -- -- Dependencies: -- ACCOUNT (Table) -- CREATE INDEX IX_AUTORIZZAZIONE ON ACCOUNT (AUTORIZZAZIONE_TRATTAMENTO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_BANDI_FC (Index) -- -- Dependencies: -- BANDI (Table) -- CREATE INDEX IX_BANDI_FC ON BANDI (FINE_CLICKDAY) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_BANDI_FP (Index) -- -- Dependencies: -- BANDI (Table) -- CREATE INDEX IX_BANDI_FP ON BANDI (FINE_PREPARAZIONE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_BANDI_IC (Index) -- -- Dependencies: -- BANDI (Table) -- CREATE INDEX IX_BANDI_IC ON BANDI (INIZIO_CLICKDAY) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_BANDI_IP (Index) -- -- Dependencies: -- BANDI (Table) -- CREATE INDEX IX_BANDI_IP ON BANDI (INIZIO_PREPARAZIONE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_CODICE_FISCALE_CS (Index) -- -- Dependencies: -- CUSTOMER_SATISFACTION (Table) -- CREATE INDEX IX_CODICE_FISCALE_CS ON CUSTOMER_SATISFACTION (CODICE_FISCALE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_COMUNE_ATTIVO (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE INDEX IX_COMUNE_ATTIVO ON COMUNE (ATTIVO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_COMUNE_CODICE_PROV (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE INDEX IX_COMUNE_CODICE_PROV ON COMUNE (CODICE_PROVINCIA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_COMUNE_DESCRIZIONE (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE INDEX IX_COMUNE_DESCRIZIONE ON COMUNE (DESCRIZIONE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_COMUNE_ISTAT (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE INDEX IX_COMUNE_ISTAT ON COMUNE (CODICE_ISTAT) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_COMUNE_REGIONE (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE INDEX IX_COMUNE_REGIONE ON COMUNE (REGIONE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_DOCUMENTI_BANDO_FASE (Index) -- -- Dependencies: -- DOCUMENTI_BANDO (Table) -- CREATE INDEX IX_DOCUMENTI_BANDO_FASE ON DOCUMENTI_BANDO (FASE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_DOCUMENTI_BANDO_OBBLIGO (Index) -- -- Dependencies: -- DOCUMENTI_BANDO (Table) -- CREATE INDEX IX_DOCUMENTI_BANDO_OBBLIGO ON DOCUMENTI_BANDO (OBBLIGO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_DOCUMENTI_BANDO_PRIORITA (Index) -- -- Dependencies: -- DOCUMENTI_BANDO (Table) -- CREATE INDEX IX_DOCUMENTI_BANDO_PRIORITA ON DOCUMENTI_BANDO (PRIORITA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_DOMANDA_LOTTO (Index) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- CREATE INDEX IX_DOMANDA_LOTTO ON DOMANDA_SCONTI (LOTTO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_DOMANDA_SCONTI_PRIORITY (Index) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- CREATE INDEX IX_DOMANDA_SCONTI_PRIORITY ON DOMANDA_SCONTI (PRIORITY) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FAQ_UT_ACC (Index) -- -- Dependencies: -- FAQ_UTENTI (Table) -- CREATE INDEX IX_FAQ_UT_ACC ON FAQ_UTENTI (ACCOUNT) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FAQ_UT_CAT (Index) -- -- Dependencies: -- FAQ_UTENTI (Table) -- CREATE INDEX IX_FAQ_UT_CAT ON FAQ_UTENTI (ID_CATEGORIA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FAQ_UT_DATAI (Index) -- -- Dependencies: -- FAQ_UTENTI (Table) -- CREATE INDEX IX_FAQ_UT_DATAI ON FAQ_UTENTI (DATA_INSERIMENTO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FIREBASE_ADMIN_CODICE_FISCALE (Index) -- -- Dependencies: -- UID_FIREBASE_ADMIN (Table) -- CREATE INDEX IX_FIREBASE_ADMIN_CODICE_FISCALE ON UID_FIREBASE_ADMIN (CODICE_FISCALE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FIREBASE_ADMIN_EMAIL (Index) -- -- Dependencies: -- UID_FIREBASE_ADMIN (Table) -- CREATE INDEX IX_FIREBASE_ADMIN_EMAIL ON UID_FIREBASE_ADMIN (EMAIL) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FIREBASE_ADMIN_GROUP (Index) -- -- Dependencies: -- UID_FIREBASE_ADMIN (Table) -- CREATE INDEX IX_FIREBASE_ADMIN_GROUP ON UID_FIREBASE_ADMIN (GROUP_ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FIREBASE_ADMIN_GUID (Index) -- -- Dependencies: -- UID_FIREBASE_ADMIN (Table) -- CREATE INDEX IX_FIREBASE_ADMIN_GUID ON UID_FIREBASE_ADMIN (GUID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_FIREBASE_ADMIN_SU (Index) -- -- Dependencies: -- UID_FIREBASE_ADMIN (Table) -- CREATE INDEX IX_FIREBASE_ADMIN_SU ON UID_FIREBASE_ADMIN (SUPER_USER) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ID_DOMANAD (Index) -- -- Dependencies: -- DOMANDA_SCONTI_IMPORTI_LOG (Table) -- CREATE INDEX IX_ID_DOMANAD ON DOMANDA_SCONTI_IMPORTI_LOG (ID_DOMANDA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_ID_DOMANDA_SCONTI_LOG (Index) -- -- Dependencies: -- DOMANDA_SCONTI_IMPORTI_LOG (Table) -- CREATE INDEX IX_ID_DOMANDA_SCONTI_LOG ON DOMANDA_SCONTI_IMPORTI_LOG (ID_DOMANDA_SCONTI) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_IMPERSONIFICAZIONE (Index) -- -- Dependencies: -- LOGS (Table) -- CREATE INDEX IX_IMPERSONIFICAZIONE ON LOGS (IMPERSONIFICAZIONE_GUID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_LOTTO_INTEGRAZIONE (Index) -- -- Dependencies: -- DOMANDA_SCONTI_INTEGRAZIONE (Table) -- CREATE INDEX IX_LOTTO_INTEGRAZIONE ON DOMANDA_SCONTI_INTEGRAZIONE (LOTTO_INTEGRAZIONE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_OBBLIGO (Index) -- -- Dependencies: -- ANAG_DICHIARAZIONI (Table) -- CREATE INDEX IX_OBBLIGO ON ANAG_DICHIARAZIONI (OBBLIGO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_POSIZIONE (Index) -- -- Dependencies: -- ANAG_DICHIARAZIONI (Table) -- CREATE INDEX IX_POSIZIONE ON ANAG_DICHIARAZIONI (POSIZIONE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_SA_CF (Index) -- -- Dependencies: -- SPID_ACCESSI (Table) -- CREATE INDEX IX_SA_CF ON SPID_ACCESSI (CODICE_FISCALE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_SA_DATA (Index) -- -- Dependencies: -- SPID_ACCESSI (Table) -- CREATE INDEX IX_SA_DATA ON SPID_ACCESSI (DATA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_SEARCH (Index) -- -- Dependencies: -- COMUNE (Table) -- CREATE INDEX IX_SEARCH ON COMUNE (SEARCH) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_STATO_PRATICA (Index) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- CREATE INDEX IX_STATO_PRATICA ON DOMANDA_SCONTI (STATO) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_USER_ACCOUNT (Index) -- -- Dependencies: -- ACCOUNT (Table) -- CREATE INDEX IX_USER_ACCOUNT ON ACCOUNT (USERNAME) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- IX_VALORE_CS (Index) -- -- Dependencies: -- CUSTOMER_SATISFACTION (Table) -- CREATE INDEX IX_VALORE_CS ON CUSTOMER_SATISFACTION (VALORE) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- MD_APP_FILE_TYPE_IDX (Index) -- -- Dependencies: -- MD_APPLICATIONFILES (Table) -- CREATE INDEX MD_APP_FILE_TYPE_IDX ON MD_APPLICATIONFILES (TYPE, ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- MD_STATE_TYPE__ID (Index) -- -- Dependencies: -- MD_APPLICATIONFILES (Table) -- CREATE INDEX MD_STATE_TYPE__ID ON MD_APPLICATIONFILES (STATE, TYPE, ID) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- AGGIORNA_LOTTO_DOMANDA_SCONTI (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- ESPORTAZIONI (Table) -- DBMS_STANDARD (Package) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE AGGIORNA_LOTTO_DOMANDA_SCONTI ( LOTTO_FROM IN NUMBER, LOTTO_TO IN NUMBER ) AS V_DATA_CREAZIONE ESPORTAZIONI.DATA_CREAZIONE%TYPE; V_NOTE_PRECEDENTE ESPORTAZIONI.NOTE%TYPE; V_TIPO_FROM ESPORTAZIONI.TIPO%TYPE; V_TIPO_TO ESPORTAZIONI.TIPO%TYPE; BEGIN -- Recupero TIPO dei due lotti e controllo corrispondenza SELECT TIPO INTO V_TIPO_FROM FROM ESPORTAZIONI WHERE LOTTO = LOTTO_FROM; SELECT TIPO INTO V_TIPO_TO FROM ESPORTAZIONI WHERE LOTTO = LOTTO_TO; IF V_TIPO_FROM != V_TIPO_TO THEN RAISE_APPLICATION_ERROR(-20003, 'I lotti specificati non appartengono allo stesso TIPO.'); END IF; -- Recupero della DATA_CREAZIONE del lotto_to SELECT DATA_CREAZIONE INTO V_DATA_CREAZIONE FROM ESPORTAZIONI WHERE LOTTO = LOTTO_TO; -- Aggiornamento della tabella DOMANDA_SCONTI UPDATE DOMANDA_SCONTI SET LOTTO = LOTTO_TO, DATA_ESPORTAZIONE = V_DATA_CREAZIONE, DATA_ESITO = null WHERE LOTTO = LOTTO_FROM AND STATO = 1; -- Recupera eventuale nota precedente del lotto_from SELECT NOTE INTO V_NOTE_PRECEDENTE FROM ESPORTAZIONI WHERE LOTTO = LOTTO_FROM; -- Aggiunge l'annotazione nella colonna NOTE del lotto_from UPDATE ESPORTAZIONI SET NOTE = NVL(V_NOTE_PRECEDENTE || ' | ', '') || 'Domande spostate nel lotto ' || LOTTO_TO || ' in data ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') WHERE LOTTO = LOTTO_FROM; COMMIT; EXCEPTION WHEN NO_DATA_FOUND THEN RAISE_APPLICATION_ERROR(-20001, 'Lotto_from o lotto_to non trovato nella tabella ESPORTAZIONI'); WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20002, 'Errore durante l''aggiornamento: ' || SQLERRM); END; / -- -- SPAEROPORTISAVE (Procedure) -- -- Dependencies: -- AEROPORTI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SPAEROPORTISAVE" ( P_CODICE VARCHAR2, P_NOME VARCHAR2, P_REGIONE NUMBER ) AS INSUPDATE NUMBER; BEGIN SELECT COUNT(*) INTO INSUPDATE FROM AEROPORTI WHERE CODICE = P_CODICE; IF INSUPDATE <= 0 THEN INSERT INTO AEROPORTI (CODICE, NOME, REGIONE) VALUES (P_CODICE, P_NOME, P_REGIONE); ELSE UPDATE AEROPORTI SET NOME = P_NOME, REGIONE = P_REGIONE WHERE CODICE = P_CODICE; END IF; END SPAEROPORTISAVE; / -- -- SPDICHIARAZIONISAVE (Procedure) -- -- Dependencies: -- DOMANDA_DICHIARAZIONI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SPDICHIARAZIONISAVE" ( P_ID_DOMANDA INT , P_ID_ANAG_DICHIARAZIONI INT ) AS BEGIN INSERT INTO DOMANDA_DICHIARAZIONI (ID_DOMANDA, ID_ANAG_DICHIARAZIONI ) VALUES (P_ID_DOMANDA, P_ID_ANAG_DICHIARAZIONI); END SPDICHIARAZIONISAVE; / -- -- SPLOGSBESAVE (Procedure) -- -- Dependencies: -- LOGS_BE (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SPLOGSBESAVE" ( P_ID_OPERATORE IN VARCHAR2 , P_IP IN VARCHAR2 , P_USERNAME IN VARCHAR2 , P_MODULE IN VARCHAR2 , P_ACTION IN VARCHAR2 , P_OPERATION IN VARCHAR2 , P_INFO IN CLOB , P_OLDVALUE IN CLOB ) AS BEGIN INSERT INTO LOGS_BE (ID_OPERATORE, IP, USERNAME, DATA, MODULE, ACTION, OPERATION, INFO, OLDVALUE) VALUES (P_ID_OPERATORE, P_IP, P_USERNAME, SYSTIMESTAMP, P_MODULE, P_ACTION, P_OPERATION, P_INFO, P_OLDVALUE); END SPLOGSBESAVE; / -- -- SPLOGSP7MSAVE (Procedure) -- -- Dependencies: -- LOGS_P7M (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SPLOGSP7MSAVE" ( P_ID_DOMANDA IN NUMBER , P_ERRORE IN VARCHAR2 , P_FILEPATH IN VARCHAR2 , P_FASE IN NUMBER ) AS BEGIN INSERT INTO LOGS_P7M (ID_DOMANDA, ERRORE, FILEPATH, DATA, FASE) VALUES (P_ID_DOMANDA, P_ERRORE, P_FILEPATH, SYSTIMESTAMP, P_FASE); END SPLOGSP7MSAVE; / -- -- SPLOGSSAVE (Procedure) -- -- Dependencies: -- LOGS (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SPLOGSSAVE" ( P_ID_OPERATORE IN VARCHAR2 , P_IP IN VARCHAR2 , P_USERNAME IN VARCHAR2 , P_MODULE IN VARCHAR2 , P_ACTION IN VARCHAR2 , P_OPERATION IN VARCHAR2 , P_INFO IN CLOB , P_OLDVALUE IN CLOB , P_GUID IN VARCHAR2 ) AS BEGIN INSERT INTO LOGS (ID_OPERATORE, IP, USERNAME, DATA, MODULE, ACTION, OPERATION, INFO, OLDVALUE, IMPERSONIFICAZIONE_GUID) VALUES (P_ID_OPERATORE, P_IP, P_USERNAME, SYSTIMESTAMP, P_MODULE, P_ACTION, P_OPERATION, P_INFO, P_OLDVALUE, P_GUID); END SPLOGSSAVE; / -- -- SP_APPROVA (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- ESPORTAZIONI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SP_APPROVA" ( P_NUM_LOTTO INT ) AS CTR_LOTTO INT; BEGIN CTR_LOTTO:=0; SELECT LOTTO INTO CTR_LOTTO FROM ESPORTAZIONI WHERE LOTTO = P_NUM_LOTTO; IF CTR_LOTTO > 0 THEN UPDATE DOMANDA_SCONTI SET STATO = 2, DATA_ESITO = SYSTIMESTAMP WHERE LOTTO = P_NUM_LOTTO AND STATO = 1; END IF; END SP_APPROVA; / -- -- SP_DISAPPROVA (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- ESPORTAZIONI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SP_DISAPPROVA" ( P_NUM_LOTTO INT ) AS CTR_LOTTO INT; BEGIN CTR_LOTTO:=0; SELECT LOTTO INTO CTR_LOTTO FROM ESPORTAZIONI WHERE LOTTO = P_NUM_LOTTO; IF CTR_LOTTO > 0 THEN UPDATE DOMANDA_SCONTI SET STATO = 1, DATA_ESITO = null, DATA_ESPORTAZIONE = SYSTIMESTAMP WHERE LOTTO = P_NUM_LOTTO AND STATO = 2; END IF; END SP_DISAPPROVA; / -- -- SP_EROGA (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- ESPORTAZIONI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SP_EROGA" ( P_NUM_LOTTO INT ) AS CTR_LOTTO INT; BEGIN CTR_LOTTO:=0; SELECT LOTTO INTO CTR_LOTTO FROM ESPORTAZIONI WHERE LOTTO = P_NUM_LOTTO; IF CTR_LOTTO > 0 THEN UPDATE DOMANDA_SCONTI SET STATO = 3, DATA_EROGAZIONE = SYSTIMESTAMP WHERE LOTTO = P_NUM_LOTTO AND STATO = 2; END IF; END SP_EROGA; / -- -- SP_FORZA_RESIDENZA (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SP_FORZA_RESIDENZA" ( P_ID INT, P_FORZA INT ) AS BEGIN IF P_ID > 0 THEN UPDATE DOMANDA_SCONTI SET FORZA_RESIDENZA = P_FORZA WHERE ID = P_ID; END IF; END SP_FORZA_RESIDENZA; / -- -- CALCOLAFRAZIONEANNO (Function) -- -- Dependencies: -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "CALCOLAFRAZIONEANNO" ( P_DATA_INIZIO IN DATE, P_DATA_FINE IN DATE ) RETURN NUMBER IS ANNI NUMBER; MESI NUMBER; GIORNI NUMBER; PLUS NUMBER; --DATA_INIZIO DATE; DATA_FINE DATE; BEGIN ANNI := 0; MESI := 0; PLUS := 0; --DATA_INIZIO := TO_DATE('01/01/2000 00:00:00','dd/mm/YYYY hh24:mi:ss'); DATA_FINE := P_DATA_FINE+1; -- AGGIUNGO IL GIORNO ESTREMO DEL PERIODO /*SELECT TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO) / 12), MOD (TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO)), 12), (P_DATA_FINE - ADD_MONTHS (P_DATA_INIZIO, TRUNC(MONTHS_BETWEEN (P_DATA_FINE,P_DATA_INIZIO)))) INTO ANNI, MESI, GIORNI FROM DUAL;*/ WITH T (START_DATE, END_DATE) AS ( SELECT P_DATA_INIZIO, DATA_FINE FROM DUAL ) SELECT TRUNC(MONTH_DIFF/12), TRUNC(MOD(MONTH_DIFF, 12)), (END_DATE - ADD_MONTHS(START_DATE, MONTH_DIFF)) INTO ANNI, MESI, GIORNI FROM ( SELECT START_DATE, END_DATE, TRUNC(MONTHS_BETWEEN(END_DATE, START_DATE)) AS MONTH_DIFF FROM T ); --GIORNI := GIORNI+1; IF GIORNI = 30 THEN MESI := MESI+1; IF MESI = 12 THEN MESI := 0; ANNI := ANNI+1; END IF; END IF; IF MESI >= 6 THEN PLUS := 1; ELSE PLUS := 0; END IF; RETURN (ANNI+PLUS); END CALCOLAFRAZIONEANNO; / -- -- CONVERTI_OMO_CODICE (Function) -- -- Dependencies: -- STANDARD (Package) -- CREATE OR REPLACE FUNCTION "CONVERTI_OMO_CODICE" ( P_CODICE_FISCALE IN VARCHAR2 ) RETURN VARCHAR2 IS V_RESULT VARCHAR2(16); -- Variabile per il codice risultante V_LETTERE CONSTANT VARCHAR2(10) := 'LMNPQRSTUV'; -- Mappa lettere V_NUMERI CONSTANT VARCHAR2(10) := '0123456789'; -- Mappa numeri I PLS_INTEGER; -- Contatore per le posizioni V_CHAR CHAR(1); -- Carattere corrente BEGIN -- Copia il codice fiscale originale V_RESULT := P_CODICE_FISCALE; -- Cicla sulle posizioni numeriche del codice fiscale (7, 8) FOR I IN 7..8 LOOP -- Controlla se il carattere è una lettera omocodica V_CHAR := SUBSTR(V_RESULT, I, 1); IF INSTR(V_LETTERE, V_CHAR) > 0 THEN -- Sostituisci la lettera con il numero corrispondente V_RESULT := SUBSTR(V_RESULT, 1, I - 1) || SUBSTR(V_NUMERI, INSTR(V_LETTERE, V_CHAR), 1) || SUBSTR(V_RESULT, I + 1); END IF; END LOOP; -- Cicla sulle posizioni numeriche del codice fiscale (10, 11) FOR I IN 10..11 LOOP -- Controlla se il carattere è una lettera omocodica V_CHAR := SUBSTR(V_RESULT, I, 1); IF INSTR(V_LETTERE, V_CHAR) > 0 THEN -- Sostituisci la lettera con il numero corrispondente V_RESULT := SUBSTR(V_RESULT, 1, I - 1) || SUBSTR(V_NUMERI, INSTR(V_LETTERE, V_CHAR), 1) || SUBSTR(V_RESULT, I + 1); END IF; END LOOP; -- Cicla per le posizioni 13, 14, 15 FOR I IN 13..15 LOOP -- Controlla se il carattere è una lettera omocodica V_CHAR := SUBSTR(V_RESULT, I, 1); IF INSTR(V_LETTERE, V_CHAR) > 0 THEN -- Sostituisci la lettera con il numero corrispondente V_RESULT := SUBSTR(V_RESULT, 1, I - 1) || SUBSTR(V_NUMERI, INSTR(V_LETTERE, V_CHAR), 1) || SUBSTR(V_RESULT, I + 1); END IF; END LOOP; RETURN V_RESULT; EXCEPTION -- Gestione errori WHEN OTHERS THEN RETURN NULL; -- Restituisci NULL in caso di errore END CONVERTI_OMO_CODICE; / -- -- FNGETINTEGRAZIONE_POST (Function) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FNGETINTEGRAZIONE_POST" ( P_ID IN NUMBER ) RETURN VARCHAR IS COSTO_VOLO NUMBER; SCONTO_RESIDENTI NUMBER; INTEGRAZIONE NUMBER; PERC_NATIVITA NUMBER; MINIMO_COSTO NUMBER; SCONTO_MASSIMO NUMBER; T_SCONTO_EROGATO NUMBER; RESULT VARCHAR(255); BEGIN MINIMO_COSTO := 1; SCONTO_MASSIMO := 250; PERC_NATIVITA := 50; SELECT COSTO_TRATTA, SCONTO_TOTALE INTO COSTO_VOLO, T_SCONTO_EROGATO FROM DOMANDA_SCONTI WHERE ID = P_ID; SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_NATIVITA/100), 2); IF SCONTO_RESIDENTI > SCONTO_MASSIMO THEN SCONTO_RESIDENTI := SCONTO_MASSIMO; END IF; INTEGRAZIONE := SCONTO_RESIDENTI - T_SCONTO_EROGATO ; RESULT := INTEGRAZIONE; RETURN RESULT; END FNGETINTEGRAZIONE_POST; / -- -- FNGETINTEGRAZIONE_PRE (Function) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FNGETINTEGRAZIONE_PRE" ( P_ID IN NUMBER ) RETURN VARCHAR IS T_ID_DOMANDA INT; T_ISEE INT; T_PRIORITY NUMBER; T_BENEFICIARIO VARCHAR(255); COSTO_VOLO NUMBER; --TMP_COSTO_VOLO NUMBER; T_COMPAGNIA_ID INT; CATEGORIA_PRIORITARIA NUMBER; SCONTO_RESIDENTI NUMBER; SCONTO_PRIORITARI NUMBER; SCONTO_TOTALE NUMBER; INTEGRAZIONE NUMBER; PERC_RESIDENTI NUMBER; PERC_PRIORITARI NUMBER; MINIMO_COSTO NUMBER; SCONTO_MASSIMO NUMBER; CTR_STATO INT; --CTR_ADESIONE INT; T_DATA_VOLO DATE; --T_DATA_ADESIONE DATE; T_DATA_ACQUISTO DATE; T_ID_ACCOUNT INT; T_SCONTO_EROGATO NUMBER; --NUOVA_TRATTA INT; RESULT VARCHAR(255); BEGIN MINIMO_COSTO := 1; SCONTO_MASSIMO := 75; PERC_RESIDENTI := 25; PERC_PRIORITARI := 25; SCONTO_PRIORITARI :=0; --CTR_ADESIONE :=0; --NUOVA_TRATTA :=0; -- verifico se siamo in presenza di una nuova tratta /*SELECT COUNT(ID) INTO NUOVA_TRATTA FROM DOMANDA_SCONTI WHERE ID = P_ID AND ( AEROPORTO_PARTENZA_CODICE NOT IN ('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') OR AEROPORTO_DESTINAZIONE_CODICE NOT IN('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') );*/ SELECT ID_DOMANDA, STATO, CODICE_FISCALE, COSTO_TRATTA, ISEE, COMPAGNIA_ID, DATA_VOLO, DATA_ACQUISTO, SCONTO_TOTALE, PRIORITY INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO, COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO, T_DATA_ACQUISTO, T_SCONTO_EROGATO, T_PRIORITY FROM DOMANDA_SCONTI WHERE ID = P_ID; -- se lo stato della richiesta di sconto è = 0 IF CTR_STATO = 0 THEN SELECT ISEE, ID_ACCOUNT INTO T_ISEE, T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA; SELECT PRIORITY INTO T_PRIORITY FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT; END IF; /*IF T_COMPAGNIA_ID > 0 THEN SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID; END IF;*/ IF T_PRIORITY > 0 OR T_ISEE > 0 THEN CATEGORIA_PRIORITARIA := 1; ELSE CATEGORIA_PRIORITARIA := 0; END IF; SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_RESIDENTI/100), 2); IF CATEGORIA_PRIORITARIA = 1 THEN SCONTO_PRIORITARI := ROUND((COSTO_VOLO*PERC_PRIORITARI/100), 2); END IF; SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI; IF SCONTO_TOTALE > SCONTO_MASSIMO THEN SCONTO_TOTALE := SCONTO_MASSIMO; END IF; INTEGRAZIONE := (SCONTO_TOTALE)-T_SCONTO_EROGATO; RESULT := INTEGRAZIONE; RETURN RESULT; END FNGETINTEGRAZIONE_PRE; / -- -- FNGETSCONTO_MANUALE (Function) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- ANAG_COMPAGNIE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FNGETSCONTO_MANUALE" ( P_ID IN NUMBER, P_BY_PASS_STATO IN INT, P_FORZARESIDENZA IN INT ) RETURN VARCHAR IS T_ID_DOMANDA INT; T_ISEE INT; T_PRIORITY NUMBER; T_BENEFICIARIO VARCHAR(255); COSTO_VOLO NUMBER; TMP_COSTO_VOLO NUMBER; T_COMPAGNIA_ID INT; CATEGORIA_PRIORITARIA NUMBER; SCONTO_RESIDENTI NUMBER; SCONTO_PRIORITARI NUMBER; SCONTO_TOTALE NUMBER; PERC_RESIDENTI NUMBER; PERC_PRIORITARI NUMBER; MINIMO_COSTO NUMBER; SCONTO_MASSIMO NUMBER; SCONTO_MASSIMO_RESIDENTI NUMBER; CTR_STATO INT; CTR_ADESIONE INT; T_DATA_VOLO DATE; T_DATA_ADESIONE DATE; T_DATA_ACQUISTO DATE; T_ID_ACCOUNT INT; NUOVA_TRATTA INT; T_FORZA_RESIDENZA INT; RESULT VARCHAR(255); BEGIN MINIMO_COSTO := 1; SCONTO_MASSIMO := 75; SCONTO_MASSIMO_RESIDENTI :=37.50; PERC_RESIDENTI := 25; PERC_PRIORITARI := 25; SCONTO_PRIORITARI :=0; CTR_ADESIONE :=0; NUOVA_TRATTA :=0; T_FORZA_RESIDENZA :=0; -- verifico se siamo in presenza di una nuova tratta SELECT COUNT(ID) INTO NUOVA_TRATTA FROM DOMANDA_SCONTI WHERE ID = P_ID AND ( AEROPORTO_PARTENZA_CODICE NOT IN ('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') OR AEROPORTO_DESTINAZIONE_CODICE NOT IN('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') ); SELECT ID_DOMANDA, STATO, CODICE_FISCALE, COSTO_TRATTA, ISEE, COMPAGNIA_ID, DATA_VOLO, DATA_ACQUISTO, FORZA_RESIDENZA, PRIORITY INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO, COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO, T_DATA_ACQUISTO, T_FORZA_RESIDENZA, T_PRIORITY FROM DOMANDA_SCONTI WHERE ID = P_ID; -- se lo stato della richiesta di sconto è = 0 IF CTR_STATO = 0 AND P_BY_PASS_STATO = 0 THEN SELECT ISEE, ID_ACCOUNT INTO T_ISEE, T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA; SELECT PRIORITY INTO T_PRIORITY FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT; END IF; IF T_COMPAGNIA_ID > 0 THEN SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID; END IF; IF T_PRIORITY > 0 OR T_ISEE > 0 THEN CATEGORIA_PRIORITARIA := 1; ELSE CATEGORIA_PRIORITARIA := 0; SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI; END IF; IF P_FORZARESIDENZA = 1 THEN T_FORZA_RESIDENZA := 1; ELSE T_FORZA_RESIDENZA := T_FORZA_RESIDENZA; END IF; -- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO NON CONSIDERO LO SCONTO RESIDENTI IF NUOVA_TRATTA = 0 AND T_FORZA_RESIDENZA = 0 AND CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN -- IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN TMP_COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100))); SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI; IF (TMP_COSTO_VOLO - COSTO_VOLO) > SCONTO_MASSIMO THEN COSTO_VOLO := (COSTO_VOLO+SCONTO_MASSIMO); ELSE COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100))); END IF; SCONTO_RESIDENTI := 0; ELSE SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_RESIDENTI/100), 2); END IF; IF CATEGORIA_PRIORITARIA = 1 THEN SCONTO_PRIORITARI := ROUND((COSTO_VOLO*PERC_PRIORITARI/100), 2); END IF; SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI; IF SCONTO_TOTALE > SCONTO_MASSIMO THEN SCONTO_TOTALE := SCONTO_MASSIMO; END IF; RESULT := SCONTO_TOTALE; RETURN RESULT; END FNGETSCONTO_MANUALE; / -- -- FNGETSCONTO_OLD (Function) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- ANAG_COMPAGNIE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- STANDARD (Package) -- CREATE OR REPLACE FUNCTION "FNGETSCONTO_OLD" ( P_ID IN NUMBER, P_TIPO IN VARCHAR ) RETURN VARCHAR IS T_ID_DOMANDA INT; T_ISEE NUMBER; T_STUDENTE NUMBER; T_DISABILE NUMBER; T_BENEFICIARIO VARCHAR(255); COSTO_VOLO NUMBER; T_COMPAGNIA_ID INT; CATEGORIA_PRIORITARIA NUMBER; SCONTO_RESIDENTI NUMBER; SCONTO_PRIORITARI NUMBER; SCONTO_TOTALE NUMBER; TRATTA_SCONTATA NUMBER; CONTRIBUTO_TEORICO NUMBER; CONTRIBUTO_REALE NUMBER; PERC_RESIDENTI NUMBER; PERC_PRIORITARI NUMBER; MINIMO_COSTO NUMBER; COSTO_MED NUMBER; SCONTO_MASSIMO NUMBER; CTR_STATO INT; CTR_ADESIONE INT; T_DATA_VOLO DATE; T_DATA_ADESIONE DATE; SCONTO_RESIDENTI_ADESIONE NUMBER; COSTO_FINALE_VOLO NUMBER; CTR_ADESIONE_SC_MAX NUMBER; CONTRIBUTO_REALE_ADESIONE NUMBER; RESULT VARCHAR(255); BEGIN MINIMO_COSTO := 50; COSTO_MED := 62.5; SCONTO_MASSIMO := 75; PERC_RESIDENTI := 25; PERC_PRIORITARI := 25; SCONTO_PRIORITARI :=0; CTR_ADESIONE :=0; SCONTO_RESIDENTI_ADESIONE := 0; SELECT ID_DOMANDA, STATO, CODICE_FISCALE, STUDENTE, DISABILE, COSTO_TRATTA, ISEE, COMPAGNIA_ID, DATA_VOLO INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO, T_STUDENTE, T_DISABILE, COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO FROM DOMANDA_SCONTI WHERE ID = P_ID; -- se lo stato della richiesta di sconto è = 0 IF CTR_STATO = 0 THEN SELECT STUDENTE, DISABILE INTO T_STUDENTE, T_DISABILE FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO; SELECT ISEE INTO T_ISEE FROM DOMANDA WHERE ID = T_ID_DOMANDA; END IF; IF T_COMPAGNIA_ID > 0 THEN SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID; END IF; IF T_STUDENTE > 0 OR T_DISABILE > 0 OR T_ISEE > 0 THEN CATEGORIA_PRIORITARIA := 1; ELSE CATEGORIA_PRIORITARIA := 0; END IF; -- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO NON CONSIDERO LO SCONTO RESIDENTI IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_VOLO THEN COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100))); SCONTO_RESIDENTI := 0; ELSE SCONTO_RESIDENTI := (COSTO_VOLO*PERC_RESIDENTI/100); END IF; IF CATEGORIA_PRIORITARIA = 1 THEN SCONTO_PRIORITARI := (COSTO_VOLO*PERC_PRIORITARI/100); END IF; SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI; TRATTA_SCONTATA:= COSTO_VOLO-SCONTO_TOTALE; CONTRIBUTO_TEORICO := COSTO_VOLO-TRATTA_SCONTATA; IF (COSTO_VOLO - CONTRIBUTO_TEORICO) < MINIMO_COSTO THEN CONTRIBUTO_REALE := (COSTO_VOLO - MINIMO_COSTO); ELSE IF CONTRIBUTO_TEORICO > SCONTO_MASSIMO THEN CONTRIBUTO_REALE := SCONTO_MASSIMO; ELSE CONTRIBUTO_REALE := CONTRIBUTO_TEORICO; END IF; END IF; /*CASE WHEN (COSTO_VOLO - CONTRIBUTO_TEORICO) < MINIMO_COSTO THEN CONTRIBUTO_REALE := (COSTO_VOLO - MINIMO_COSTO); WHEN (COSTO_VOLO - CONTRIBUTO_TEORICO) > MINIMO_COSTO THEN --AND (COSTO_VOLO - CONTRIBUTO_TEORICO) < SCONTO_MASSIMO CONTRIBUTO_REALE := CONTRIBUTO_TEORICO; WHEN CONTRIBUTO_TEORICO > SCONTO_MASSIMO THEN CONTRIBUTO_REALE := SCONTO_MASSIMO; ELSE CONTRIBUTO_REALE := 0; END CASE;*/ IF CONTRIBUTO_REALE < 0 THEN CONTRIBUTO_REALE :=0; END IF; COSTO_FINALE_VOLO := (COSTO_VOLO - CONTRIBUTO_REALE); -- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_VOLO THEN COSTO_FINALE_VOLO := (COSTO_VOLO - CONTRIBUTO_REALE); IF (COSTO_FINALE_VOLO-CONTRIBUTO_REALE)>MINIMO_COSTO THEN CTR_ADESIONE_SC_MAX := CONTRIBUTO_REALE; ELSE CTR_ADESIONE_SC_MAX := COSTO_FINALE_VOLO - MINIMO_COSTO; END IF; IF (CTR_ADESIONE_SC_MAX+CONTRIBUTO_REALE) > SCONTO_MASSIMO THEN CONTRIBUTO_REALE_ADESIONE := SCONTO_MASSIMO-CONTRIBUTO_REALE; ELSE CONTRIBUTO_REALE_ADESIONE := CTR_ADESIONE_SC_MAX; END IF; CONTRIBUTO_REALE:= CONTRIBUTO_REALE_ADESIONE; IF CONTRIBUTO_REALE < 0 THEN CONTRIBUTO_REALE :=0; END IF; END IF; CASE WHEN P_TIPO = 'CATEGORIA_PRIORITARIA' THEN -- Restituisce solo L'INCIDENZA RESULT := CATEGORIA_PRIORITARIA; WHEN P_TIPO = 'SCONTO_TOTALE' THEN -- Restituisce solo PERCENTUALE CONTRIBUTO RESULT := SCONTO_TOTALE; WHEN P_TIPO = 'CONTRIBUTO_TEORICO' THEN -- Restituisce solo CONTRIBUTO TEORICO RESULT := CONTRIBUTO_TEORICO; WHEN P_TIPO = 'SCONTO_PRIORITARI' THEN -- Restituisce solo CONTRIBUTO TEORICO RESULT := SCONTO_PRIORITARI; WHEN P_TIPO = 'TRATTA_SCONTATA' THEN -- Restituisce solo CONTRIBUTO TEORICO RESULT := TRATTA_SCONTATA; ELSE RESULT := CONTRIBUTO_REALE; END CASE; RETURN RESULT; END FNGETSCONTO_OLD; / -- -- FNGETSCONTO_POST (Function) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FNGETSCONTO_POST" ( P_ID IN NUMBER, P_TIPO IN VARCHAR ) RETURN VARCHAR IS COSTO_VOLO NUMBER; PERC_NATIVITA NUMBER; SCONTO_NATIVITA NUMBER; SCONTO_TOTALE NUMBER; MINIMO_COSTO NUMBER; SCONTO_MASSIMO NUMBER; RESULT VARCHAR(255); BEGIN MINIMO_COSTO := 1; SCONTO_MASSIMO := 250; PERC_NATIVITA := 50; SELECT COSTO_TRATTA INTO COSTO_VOLO FROM DOMANDA_SCONTI WHERE ID = P_ID; SCONTO_NATIVITA := ROUND((COSTO_VOLO*PERC_NATIVITA/100), 2); SCONTO_TOTALE := SCONTO_NATIVITA; IF SCONTO_TOTALE > SCONTO_MASSIMO THEN SCONTO_TOTALE := SCONTO_MASSIMO; END IF; RESULT := SCONTO_TOTALE; RETURN RESULT; END FNGETSCONTO_POST; / -- -- FNGETSCONTO_PRE (Function) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- ANAG_COMPAGNIE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FNGETSCONTO_PRE" ( P_ID IN NUMBER, P_TIPO IN VARCHAR ) RETURN VARCHAR IS T_ID_DOMANDA INT; T_ISEE INT; T_PRIORITY NUMBER; T_BENEFICIARIO VARCHAR(255); COSTO_VOLO NUMBER; TMP_COSTO_VOLO NUMBER; T_COMPAGNIA_ID INT; CATEGORIA_PRIORITARIA NUMBER; SCONTO_RESIDENTI NUMBER; SCONTO_PRIORITARI NUMBER; SCONTO_TOTALE NUMBER; PERC_RESIDENTI NUMBER; PERC_PRIORITARI NUMBER; MINIMO_COSTO NUMBER; SCONTO_MASSIMO NUMBER; SCONTO_MASSIMO_RESIDENTI NUMBER; CTR_STATO INT; CTR_ADESIONE INT; T_DATA_VOLO DATE; T_DATA_ADESIONE DATE; T_DATA_ACQUISTO DATE; T_ID_ACCOUNT INT; NUOVA_TRATTA INT; T_FORZA_RESIDENZA INT; T_COMPAGNIA_NOSCORPORO INT; RESULT VARCHAR(255); BEGIN MINIMO_COSTO := 1; SCONTO_MASSIMO := 75; SCONTO_MASSIMO_RESIDENTI :=37.50; PERC_RESIDENTI := 25; PERC_PRIORITARI := 25; SCONTO_PRIORITARI :=0; CTR_ADESIONE :=0; NUOVA_TRATTA :=0; T_FORZA_RESIDENZA :=0; T_COMPAGNIA_NOSCORPORO :=28; -- ITA AIRWAYS non deve essere effettualo lo scorporo dello sconto residenti -- verifico se siamo in presenza di una nuova tratta SELECT COUNT(ID) INTO NUOVA_TRATTA FROM DOMANDA_SCONTI WHERE ID = P_ID AND ( AEROPORTO_PARTENZA_CODICE NOT IN ('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') OR AEROPORTO_DESTINAZIONE_CODICE NOT IN('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') ); SELECT ID_DOMANDA, STATO, CODICE_FISCALE, COSTO_TRATTA, ISEE, COMPAGNIA_ID, DATA_VOLO, DATA_ACQUISTO, FORZA_RESIDENZA, PRIORITY INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO, COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO, T_DATA_ACQUISTO, T_FORZA_RESIDENZA, T_PRIORITY FROM DOMANDA_SCONTI WHERE ID = P_ID; -- se lo stato della richiesta di sconto è = 0 IF CTR_STATO = 0 THEN SELECT ISEE, ID_ACCOUNT INTO T_ISEE, T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA; SELECT PRIORITY INTO T_PRIORITY FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT; END IF; IF T_COMPAGNIA_ID > 0 THEN SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID; END IF; IF T_PRIORITY > 0 OR T_ISEE > 0 THEN CATEGORIA_PRIORITARIA := 1; ELSE CATEGORIA_PRIORITARIA := 0; SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI; END IF; -- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO NON CONSIDERO LO SCONTO RESIDENTI IF NUOVA_TRATTA = 0 AND T_FORZA_RESIDENZA = 0 AND CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN -- IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI; SCONTO_RESIDENTI := 0; IF (T_COMPAGNIA_NOSCORPORO != T_COMPAGNIA_ID) THEN TMP_COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100))); IF (TMP_COSTO_VOLO - COSTO_VOLO) > SCONTO_MASSIMO THEN COSTO_VOLO := (COSTO_VOLO+SCONTO_MASSIMO); ELSE COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100))); END IF; END IF; ELSE SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_RESIDENTI/100), 2); END IF; IF CATEGORIA_PRIORITARIA = 1 THEN SCONTO_PRIORITARI := ROUND((COSTO_VOLO*PERC_PRIORITARI/100), 2); END IF; SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI; IF SCONTO_TOTALE > SCONTO_MASSIMO THEN SCONTO_TOTALE := SCONTO_MASSIMO; END IF; CASE WHEN P_TIPO = 'CATEGORIA_PRIORITARIA' THEN -- Restituisce solo L'INCIDENZA RESULT := CATEGORIA_PRIORITARIA; WHEN P_TIPO = 'SCONTO_PRIORITARI' THEN RESULT := SCONTO_PRIORITARI; WHEN P_TIPO = 'SCONTO_RESIDENTI' THEN RESULT := SCONTO_RESIDENTI; ELSE RESULT := SCONTO_TOTALE; END CASE; RETURN RESULT; END FNGETSCONTO_PRE; / -- -- GETPERIODOANNIMESIGIORNI (Function) -- -- Dependencies: -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "GETPERIODOANNIMESIGIORNI" ( P_DATA_INIZIO IN DATE, P_DATA_FINE IN DATE, P_TIPO IN VARCHAR ) RETURN NUMBER IS ANNI NUMBER; MESI NUMBER; GIORNI NUMBER; PLUS NUMBER; RESULT NUMBER; DATA_FINE DATE; BEGIN ANNI := 0; MESI := 0; GIORNI := 0; PLUS := 0; RESULT := 0; --DATA_INIZIO := TO_DATE('01/01/2000 00:00:00','dd/mm/YYYY hh24:mi:ss'); DATA_FINE := P_DATA_FINE; -- AGGIUNGO IL GIORNO ESTREMO DEL PERIODO /*SELECT TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO) / 12), MOD (TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO)), 12), (P_DATA_FINE - ADD_MONTHS (P_DATA_INIZIO, TRUNC(MONTHS_BETWEEN (P_DATA_FINE,P_DATA_INIZIO)))) INTO ANNI, MESI, GIORNI FROM DUAL; */ WITH T (START_DATE, END_DATE) AS ( SELECT P_DATA_INIZIO, DATA_FINE FROM DUAL ) SELECT TRUNC(MONTH_DIFF/12), TRUNC(MOD(MONTH_DIFF, 12)), TRUNC(END_DATE - ADD_MONTHS(START_DATE, MONTH_DIFF)) INTO ANNI, MESI, GIORNI FROM ( SELECT START_DATE, END_DATE, TRUNC(MONTHS_BETWEEN(END_DATE, START_DATE)) AS MONTH_DIFF FROM T ); --GIORNI := GIORNI+1; IF GIORNI = 30 THEN GIORNI := 0; MESI := (MESI + 1); IF MESI = 12 THEN MESI := 0; ANNI := (ANNI + 1); END IF; END IF; CASE WHEN P_TIPO = 'ANNI' THEN -- Restituisce solo il numero di anni RESULT := ANNI; WHEN P_TIPO = 'MESI' THEN -- Restituisce solo il numero di mesi RESULT := MESI; WHEN P_TIPO = 'GIORNI' THEN -- Restituisce solo il numero di giorni RESULT := GIORNI; ELSE -- Restituisce solo il numero di anni frazionati sommando IF MESI >= 6 THEN PLUS := 1; ELSE PLUS := 0; END IF; RESULT := (ANNI+PLUS); END CASE; RETURN RESULT ; END GETPERIODOANNIMESIGIORNI; / -- -- GET_IDENTIFICATIVO (Function) -- -- Dependencies: -- STANDARD (Package) -- CREATE OR REPLACE FUNCTION "GET_IDENTIFICATIVO" ( P_ID IN NUMBER, P_DATA_REGISTRAZIONE IN TIMESTAMP ) RETURN VARCHAR2 IS IDENTIFICATIVO VARCHAR2(30); BEGIN IDENTIFICATIVO := 'D'||TO_CHAR(P_DATA_REGISTRAZIONE,'YYYYmm')||LPAD(to_char(P_ID), 6, '0' ); RETURN IDENTIFICATIVO; END; / -- -- VIEW_EXPORT_SCONTI_OPT (View) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- DOMANDA_SCONTI_INTEGRAZIONE (Table) -- FNGETSCONTO_MANUALE (Function) -- CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_SCONTI_OPT (ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA, RAPPORTO_PARENTELA, CODICE_FISCALE, COMUNE_RESIDENZA, PROV_RESIDENZA, CAP_RESIDENZA, COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA, AEROPORTO_PARTENZA, AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO, FILEPATH_CARTAIMBARCO, ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO, FILIALE_CREDITO, STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE, DATA_ESITO, DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID, DATA_ACQUISTO, LOTTO, FLAG, PRIORITA, ID_ACCOUNT, FORZA_RESIDENZA, CITTADINANZA, LOTTO_INTEGRAZIONE) BEQUEATH DEFINER AS WITH StatoCalcolato (ID, ID_DOMANDA, STATO_ATTIVO) AS (SELECT ID, ID_DOMANDA, CASE WHEN STATO >= 1 THEN 1 ELSE 0 END AS STATO_ATTIVO FROM DOMANDA_SCONTI) SELECT DS.ID, DS.ID_DOMANDA, DS.COGNOME, DS.NOME, DS.DATA_NASCITA, DS.RAPPORTO_PARENTELA, DS.CODICE_FISCALE, CASE WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA ELSE AF.COMUNE_RESIDENZA END AS COMUNE_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA ELSE AF.PROV_RESIDENZA END AS PROV_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA ELSE AF.CAP_RESIDENZA END AS CAP_RESIDENZA, DS.COMPAGNIA_AEREA, DS.NUMERO_VOLO, DS.DATA_VOLO, DS.COSTO_TRATTA, DS.AEROPORTO_PARTENZA, DS.AEROPORTO_PARTENZA_CODICE, DS.AEROPORTO_DESTINAZIONE, DS.AEROPORTO_DESTINAZIONE_CODICE, DS.FILEPATH_BIGLIETTO, DS.FILEPATH_CARTAIMBARCO, CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END AS ISEE, CASE WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE ELSE D.DATA_RILASCIO_ISEE END AS DATA_RILASCIO_ISEE, CASE WHEN DS.STATO >= 1 THEN DS.IBAN ELSE D.IBAN END AS IBAN, CASE WHEN DS.STATO >= 1 THEN DS.ISTITUTO_CREDITO ELSE D.ISTITUTO_CREDITO END AS ISTITUTO_CREDITO, CASE WHEN DS.STATO >= 1 THEN DS.FILIALE_CREDITO ELSE D.FILIALE_CREDITO END AS FILIALE_CREDITO, DS.STATO, DS.DATA_REGISTRAZIONE, DS.ID_UID_FIREBASE, DS.DATA_ESPORTAZIONE, DS.DATA_ESITO, DS.DATA_EROGAZIONE, DS.NOTE, TO_NUMBER (FNGETSCONTO_MANUALE (DS.ID, 1, 0)) AS SCONTO_TOTALE, DS.COMPAGNIA_ID, DS.DATA_ACQUISTO, DS.LOTTO, CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END AS FLAG, CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END AS PRIORITA, D.ID_ACCOUNT, DS.FORZA_RESIDENZA, DS.CITTADINANZA, DI.LOTTO_INTEGRAZIONE FROM DOMANDA_SCONTI DS LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI ON DI.ID_RICHIESTA = DS.ID INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF ON AF.ID_ACCOUNT = D.ID_ACCOUNT AND DS.CODICE_FISCALE = AF.CODICE_FISCALE; -- -- VIEW_TRATTE (View) -- -- Dependencies: -- AEROPORTI (Table) -- CREATE OR REPLACE FORCE VIEW VIEW_TRATTE (A_CODICE, A_NOME, R_CODICE, R_NOME) BEQUEATH DEFINER AS SELECT A.CODICE AS A_CODICE, A.NOME AS A_NOME, R.CODICE AS R_CODICE, R.NOME AS R_NOME FROM AEROPORTI A CROSS JOIN AEROPORTI R WHERE A.REGIONE = 19 AND R.REGIONE != 19 UNION SELECT R.CODICE AS A_CODICE, R.NOME AS A_NOME, A.CODICE AS R_CODICE, A.NOME AS R_NOME FROM AEROPORTI R CROSS JOIN AEROPORTI A WHERE A.REGIONE = 19 AND R.REGIONE != 19; -- -- ACCOUNT_ANAGRAFICA_BI (Trigger) -- -- Dependencies: -- ACCOUNT_ANAGRAFICA (Table) -- ACCOUNT_ANAG_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER ACCOUNT_ANAGRAFICA_BI BEFORE INSERT ON ACCOUNT_ANAGRAFICA FOR EACH ROW BEGIN SELECT ACCOUNT_ANAG_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- ACCOUNT_BI (Trigger) -- -- Dependencies: -- ACCOUNT (Table) -- ACCOUNT_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER ACCOUNT_BI BEFORE INSERT ON ACCOUNT FOR EACH ROW BEGIN SELECT ACCOUNT_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- ACCOUNT_NUCLEO_BI (Trigger) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- ACCOUNT_NUCLEO_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER ACCOUNT_NUCLEO_BI BEFORE INSERT ON ACCOUNT_NUCLEO_FAMILIARE FOR EACH ROW BEGIN SELECT ACCOUNT_NUCLEO_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- ALLEGATI_BI (Trigger) -- -- Dependencies: -- ALLEGATI (Table) -- ALLEGATI_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER ALLEGATI_BI BEFORE INSERT ON ALLEGATI FOR EACH ROW BEGIN SELECT ALLEGATI_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- ANAG_COMPAGNIE_TRG (Trigger) -- -- Dependencies: -- ANAG_COMPAGNIE (Table) -- ANAG_COMPAGNIE_SEQ (Sequence) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER ANAG_COMPAGNIE_TRG BEFORE INSERT ON ANAG_COMPAGNIE REFERENCING NEW AS New OLD AS Old FOR EACH ROW BEGIN -- For Toad: Highlight column ID :new.ID := ANAG_COMPAGNIE_SEQ.nextval; END ANAG_COMPAGNIE_TRG; / -- -- ANAG_DICHIARAZIONI_BI (Trigger) -- -- Dependencies: -- ANAG_DICHIARAZIONI (Table) -- ANAG_DICHIARAZIONI_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER ANAG_DICHIARAZIONI_BI BEFORE INSERT ON ANAG_DICHIARAZIONI FOR EACH ROW BEGIN SELECT ANAG_DICHIARAZIONI_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- AUDIT_RICHIESTA_INTEGRAZIONE_BI (Trigger) -- -- Dependencies: -- AUDIT_RICHIESTA_INTEGRAZIONE (Table) -- AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER AUDIT_RICHIESTA_INTEGRAZIONE_BI BEFORE INSERT ON AUDIT_RICHIESTA_INTEGRAZIONE FOR EACH ROW BEGIN SELECT AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ.nextval INTO :new.ID_AUDIT FROM dual; END; / -- -- BANDI_BI (Trigger) -- -- Dependencies: -- BANDI (Table) -- BANDI_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER BANDI_BI BEFORE INSERT ON BANDI FOR EACH ROW BEGIN SELECT BANDI_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- COMUNE_BI (Trigger) -- -- Dependencies: -- COMUNE (Table) -- COMUNE_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER COMUNE_BI BEFORE INSERT ON COMUNE FOR EACH ROW BEGIN SELECT COMUNE_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- CUSTOMER_SATISFACTION_BI (Trigger) -- -- Dependencies: -- CUSTOMER_SATISFACTION (Table) -- CUSTOMER_SATISFACTION_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER CUSTOMER_SATISFACTION_BI BEFORE INSERT ON CUSTOMER_SATISFACTION FOR EACH ROW BEGIN SELECT CUSTOMER_SATISFACTION_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- DOCUMENTIBANDO_BI (Trigger) -- -- Dependencies: -- DOCUMENTI_BANDO (Table) -- DOCUMENTIBANDO_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER DOCUMENTIBANDO_BI BEFORE INSERT ON DOCUMENTI_BANDO FOR EACH ROW BEGIN SELECT DOCUMENTIBANDO_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- DOMANDA_BI (Trigger) -- -- Dependencies: -- DOMANDA (Table) -- DOMANDA_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER DOMANDA_BI BEFORE INSERT ON DOMANDA FOR EACH ROW BEGIN SELECT DOMANDA_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- DOMANDA_EMAIL_BI (Trigger) -- -- Dependencies: -- DOMANDA_EMAIL (Table) -- DOMANDA_EMAIL_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER DOMANDA_EMAIL_BI BEFORE INSERT ON DOMANDA_EMAIL FOR EACH ROW BEGIN SELECT DOMANDA_EMAIL_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- DOMANDA_SCONTI_BI (Trigger) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- DOMANDA_SCONTI_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER DOMANDA_SCONTI_BI BEFORE INSERT ON DOMANDA_SCONTI FOR EACH ROW BEGIN SELECT DOMANDA_SCONTI_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- DOMANDA_SCONTI_CONTROLLI_BI (Trigger) -- -- Dependencies: -- DOMANDA_SCONTI_CONTROLLI (Table) -- DOMANDA_SCONTI_CONTROLLI_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER DOMANDA_SCONTI_CONTROLLI_BI BEFORE INSERT ON DOMANDA_SCONTI_CONTROLLI FOR EACH ROW BEGIN SELECT DOMANDA_SCONTI_CONTROLLI_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- DOMANDA_SCONTI_IMPORTI_LOG_BI (Trigger) -- -- Dependencies: -- DOMANDA_SCONTI_IMPORTI_LOG (Table) -- DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER DOMANDA_SCONTI_IMPORTI_LOG_BI BEFORE INSERT ON DOMANDA_SCONTI_IMPORTI_LOG REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN SELECT DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- ESPORTAZIONI_TRG (Trigger) -- -- Dependencies: -- ESPORTAZIONI (Table) -- ESPORTAZIONI_SEQ (Sequence) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER ESPORTAZIONI_TRG BEFORE INSERT ON ESPORTAZIONI REFERENCING NEW AS New OLD AS Old FOR EACH ROW BEGIN -- For Toad: Highlight column LOTTO :new.LOTTO := ESPORTAZIONI_SEQ.nextval; END ESPORTAZIONI_TRG; / -- -- FAQ_BI (Trigger) -- -- Dependencies: -- FAQ (Table) -- FAQ_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER FAQ_BI BEFORE INSERT ON FAQ FOR EACH ROW BEGIN SELECT FAQ_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- FAQ_UTENTI_BI (Trigger) -- -- Dependencies: -- FAQ_UTENTI (Table) -- FAQ_UTENTI_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER FAQ_UTENTI_BI BEFORE INSERT ON FAQ_UTENTI FOR EACH ROW BEGIN SELECT FAQ_UTENTI_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- IMPERSONIFICAZIONE_BI (Trigger) -- -- Dependencies: -- IMPERSONIFICAZIONE (Table) -- IMPERSONIFICAZIONE_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER IMPERSONIFICAZIONE_BI BEFORE INSERT ON IMPERSONIFICAZIONE FOR EACH ROW BEGIN SELECT IMPERSONIFICAZIONE_ID_SEQ.nextval INTO :new.ID FROM dual; END; -- ############## / -- -- INTEGRAZIONI_EMAIL_QUEUE_BI (Trigger) -- -- Dependencies: -- INTEGRAZIONI_EMAIL_QUEUE (Table) -- INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER INTEGRAZIONI_EMAIL_QUEUE_BI BEFORE INSERT ON INTEGRAZIONI_EMAIL_QUEUE FOR EACH ROW BEGIN SELECT INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ.nextval INTO :new.ID FROM dual; END; --########################## / -- -- LOGS_BE_BI (Trigger) -- -- Dependencies: -- LOGS_BE (Table) -- LOGS_BE_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER LOGS_BE_BI BEFORE INSERT ON LOGS_BE FOR EACH ROW BEGIN SELECT LOGS_BE_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- LOGS_BI (Trigger) -- -- Dependencies: -- LOGS (Table) -- LOGS_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER LOGS_BI BEFORE INSERT ON LOGS FOR EACH ROW BEGIN SELECT LOGS_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- LOGS_P7M_BI (Trigger) -- -- Dependencies: -- LOGS_P7M (Table) -- LOGS_P7M_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER LOGS_P7M_BI BEFORE INSERT ON LOGS_P7M FOR EACH ROW BEGIN SELECT LOGS_P7M_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- RICHIESTA_INTEGRAZIONE_BI (Trigger) -- -- Dependencies: -- RICHIESTA_INTEGRAZIONE (Table) -- RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER RICHIESTA_INTEGRAZIONE_BI BEFORE INSERT ON RICHIESTA_INTEGRAZIONE FOR EACH ROW BEGIN SELECT RICHIESTA_INTEGRAZIONE_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- SPID_ACCESSI_BI (Trigger) -- -- Dependencies: -- SPID_ACCESSI (Table) -- SPID_ACCESSI_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER SPID_ACCESSI_BI BEFORE INSERT ON SPID_ACCESSI FOR EACH ROW BEGIN SELECT SPID_ACCESSI_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- TRG_AUDIT_RICHIESTA_INTEGRAZIONE (Trigger) -- -- Dependencies: -- RICHIESTA_INTEGRAZIONE (Table) -- AUDIT_RICHIESTA_INTEGRAZIONE (Table) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER TRG_AUDIT_RICHIESTA_INTEGRAZIONE BEFORE UPDATE OF STATO ON RICHIESTA_INTEGRAZIONE FOR EACH ROW BEGIN IF (:OLD.STATO IS NULL AND :NEW.STATO IS NOT NULL) OR (:OLD.STATO IS NOT NULL AND :NEW.STATO IS NULL) OR (:OLD.STATO != :NEW.STATO) THEN INSERT INTO AUDIT_RICHIESTA_INTEGRAZIONE ( ID_INTEGRAZIONE, STATO_PRECEDENTE, STATO_ATTUALE, ORIGINE ) VALUES ( :OLD.ID, :OLD.STATO, :NEW.STATO, 'TRIGGER' ); END IF; END; / -- -- TRG_CAMBIA_STATO_SU_INSERIMENTO (Trigger) -- -- Dependencies: -- RICHIESTA_INTEGRAZIONE (Table) -- DOMANDA_SCONTI (Table) -- DBMS_OUTPUT (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER TRG_CAMBIA_STATO_SU_INSERIMENTO AFTER INSERT ON RICHIESTA_INTEGRAZIONE FOR EACH ROW DECLARE v_count NUMBER; BEGIN -- Controlla se esiste la domanda SELECT COUNT(*) INTO v_count FROM DOMANDA_SCONTI WHERE ID = :NEW.ID_DOMANDA_SCONTI; IF v_count = 1 THEN -- Se esiste, aggiorna lo stato a 33 UPDATE DOMANDA_SCONTI SET STATO = 33 WHERE ID = :NEW.ID_DOMANDA_SCONTI; ELSE -- Altrimenti segnala errore (DBMS_OUTPUT visibile solo se abilitato) DBMS_OUTPUT.PUT_LINE('ID_DOMANDA_SCONTI ' || :NEW.ID_DOMANDA_SCONTI || ' non trovato in DOMANDA_SCONTI'); END IF; EXCEPTION WHEN OTHERS THEN -- In caso di errore inaspettato, logga il messaggio DBMS_OUTPUT.PUT_LINE('Errore nel trigger TRG_CAMBIA_STATO_SU_INSERIMENTO: ' || SQLERRM); END; / -- -- UID_FIREBASE_ADMIN_BI (Trigger) -- -- Dependencies: -- UID_FIREBASE_ADMIN (Table) -- UID_FIREBASE_ADMIN_ID_SEQ (Sequence) -- DUAL (Synonym) -- STANDARD (Package) -- CREATE OR REPLACE TRIGGER UID_FIREBASE_ADMIN_BI BEFORE INSERT ON UID_FIREBASE_ADMIN FOR EACH ROW BEGIN SELECT UID_FIREBASE_ADMIN_ID_SEQ.nextval INTO :new.ID FROM dual; END; / -- -- AEROPORTI_COMPAGNIE (Table) -- -- Dependencies: -- AEROPORTI (Table) -- ANAG_COMPAGNIE (Table) -- -- Row Count: 88 CREATE TABLE AEROPORTI_COMPAGNIE ( AEROPORTO VARCHAR2(3 BYTE), COMPAGNIA INTEGER ) TABLESPACE BANDO_VOLI_TBS PCTUSED 0 PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); -- -- AERO_COMP_PK (Index) -- -- Dependencies: -- AEROPORTI_COMPAGNIE (Table) -- CREATE UNIQUE INDEX AERO_COMP_PK ON AEROPORTI_COMPAGNIE (AEROPORTO, COMPAGNIA) TABLESPACE BANDO_VOLI_TBS PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT ); ALTER TABLE AEROPORTI_COMPAGNIE ADD ( CONSTRAINT AERO_COMP_PK PRIMARY KEY (AEROPORTO, COMPAGNIA) USING INDEX AERO_COMP_PK ENABLE VALIDATE); -- -- SPAEROCOMPAGNIESAVE (Procedure) -- -- Dependencies: -- AEROPORTI_COMPAGNIE (Table) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SPAEROCOMPAGNIESAVE" ( P_AEROPORTO VARCHAR2, P_COMPAGNIA INT ) AS INSUPDATE NUMBER; BEGIN SELECT COUNT(*) INTO INSUPDATE FROM AEROPORTI_COMPAGNIE WHERE AEROPORTO = P_AEROPORTO AND COMPAGNIA = P_COMPAGNIA; IF INSUPDATE <= 0 THEN INSERT INTO AEROPORTI_COMPAGNIE (AEROPORTO, COMPAGNIA) VALUES (P_AEROPORTO, P_COMPAGNIA); END IF; END SPAEROCOMPAGNIESAVE; / -- -- CALCOLAETAFROMTODATE (Function) -- -- Dependencies: -- GETPERIODOANNIMESIGIORNI (Function) -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION CALCOLAETAFROMTODATE ( P_START_DATA IN VARCHAR2, P_END_DATA IN VARCHAR2 ) RETURN number IS ETA number; START_DATA_CALCOLO date; END_DATA_CALCOLO date; BEGIN ETA := 0;-- Punti per Età START_DATA_CALCOLO := TO_DATE(P_START_DATA,'dd/mm/YYYY hh24:mi:ss');-- Data definita dall'accordo sindacale END_DATA_CALCOLO := TO_DATE(P_END_DATA,'dd/mm/YYYY hh24:mi:ss');-- Data definita dall'accordo sindacale -- Calcolo del punteggio per anzianità di posizione --SELECT (ROUND((END_DATA_CALCOLO - DATA_NASCITA)/365)) SELECT GETPERIODOANNIMESIGIORNI(START_DATA_CALCOLO, END_DATA_CALCOLO, 'ANNI') INTO ETA from DUAL; IF ETA IS NULL THEN ETA := 0; END IF; RETURN ETA; END; / -- -- FNGETINTEGRAZIONE (Function) -- -- Dependencies: -- FNGETINTEGRAZIONE_POST (Function) -- FNGETINTEGRAZIONE_PRE (Function) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FNGETINTEGRAZIONE" ( P_ID IN NUMBER, P_DATA_VOLO IN DATE ) RETURN VARCHAR IS T_DAL DATE; T_AL DATE; RESULT VARCHAR(255); BEGIN T_DAL := TO_DATE('2024-12-07', 'YYYY-MM-DD'); T_AL := TO_DATE('2025-01-06', 'YYYY-MM-DD'); IF P_DATA_VOLO BETWEEN T_DAL AND T_AL THEN RESULT := FNGETINTEGRAZIONE_POST(P_ID); ELSE RESULT := FNGETINTEGRAZIONE_PRE(P_ID); END IF; RETURN RESULT; END FNGETINTEGRAZIONE; / -- -- FNGETSCONTO (Function) -- -- Dependencies: -- FNGETSCONTO_POST (Function) -- FNGETSCONTO_PRE (Function) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FNGETSCONTO" ( P_ID IN NUMBER, P_DATA_VOLO IN DATE ) RETURN VARCHAR IS T_DAL DATE; T_AL DATE; RESULT VARCHAR(255); BEGIN T_DAL := TO_DATE('2024-12-07', 'YYYY-MM-DD'); T_AL := TO_DATE('2025-01-06', 'YYYY-MM-DD'); IF P_DATA_VOLO BETWEEN T_DAL AND T_AL THEN RESULT := FNGETSCONTO_POST(P_ID, ''); ELSE RESULT := FNGETSCONTO_PRE(P_ID, ''); END IF; RETURN RESULT; END FNGETSCONTO; / -- -- VIEW_EXPORT_IBAN_AGGIORNATI (View) -- -- Dependencies: -- ACCOUNT (Table) -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- DOMANDA_SCONTI_INTEGRAZIONE (Table) -- FNGETINTEGRAZIONE (Function) -- FNGETSCONTO (Function) -- CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_IBAN_AGGIORNATI (ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA, RAPPORTO_PARENTELA, CODICE_FISCALE, BENEFICIARIO_BONIFICO, COMUNE_RESIDENZA, PROV_RESIDENZA, CAP_RESIDENZA, COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA, AEROPORTO_PARTENZA, AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO, FILEPATH_CARTAIMBARCO, ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO, FILIALE_CREDITO, STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE, DATA_ESITO, DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID, DATA_ACQUISTO, LOTTO, FLAG, PRIORITA, ID_ACCOUNT, FORZA_RESIDENZA, CITTADINANZA, LOTTO_INTEGRAZIONE, FILEPATH_BIGLIETTO_HASH, FILEPATH_CARTAIMBARCO_HASH) BEQUEATH DEFINER AS SELECT DS.ID, DS.ID_DOMANDA, DS.COGNOME, DS.NOME, DS.DATA_NASCITA, DS.RAPPORTO_PARENTELA, DS.CODICE_FISCALE, CASE WHEN DS.RAPPORTO_PARENTELA > 0 THEN (SELECT CODICE_FISCALE FROM ACCOUNT WHERE ID = D.ID_ACCOUNT) ELSE DS.CODICE_FISCALE END AS BENEFICIARIO_BONIFICO, CASE WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA ELSE AF.COMUNE_RESIDENZA END AS COMUNE_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA ELSE AF.PROV_RESIDENZA END AS PROV_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA ELSE AF.CAP_RESIDENZA END AS CAP_RESIDENZA, DS.COMPAGNIA_AEREA, DS.NUMERO_VOLO, DS.DATA_VOLO, DS.COSTO_TRATTA, DS.AEROPORTO_PARTENZA, DS.AEROPORTO_PARTENZA_CODICE, DS.AEROPORTO_DESTINAZIONE, DS.AEROPORTO_DESTINAZIONE_CODICE, DS.FILEPATH_BIGLIETTO, DS.FILEPATH_CARTAIMBARCO, CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END AS ISEE, CASE WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE ELSE D.DATA_RILASCIO_ISEE END AS DATA_RILASCIO_ISEE, D.IBAN, D.ISTITUTO_CREDITO, D.FILIALE_CREDITO, DS.STATO, DS.DATA_REGISTRAZIONE, DS.ID_UID_FIREBASE, DS.DATA_ESPORTAZIONE, DS.DATA_ESITO, DS.DATA_EROGAZIONE, DS.NOTE, CASE WHEN DS.STATO >= 1 THEN CASE WHEN DI.ID_RICHIESTA IS NOT NULL THEN ( DS.SCONTO_TOTALE + TO_NUMBER ( FNGETINTEGRAZIONE (DS.ID, DS.DATA_VOLO))) ELSE DS.SCONTO_TOTALE END ELSE TO_NUMBER (FNGETSCONTO (DS.ID, DS.DATA_VOLO)) END AS SCONTO_TOTALE, DS.COMPAGNIA_ID, DS.DATA_ACQUISTO, DS.LOTTO, CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END AS FLAG, CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END AS PRIORITA, D.ID_ACCOUNT, DS.FORZA_RESIDENZA, DS.CITTADINANZA, DI.LOTTO_INTEGRAZIONE, DS.FILEPATH_BIGLIETTO_HASH, DS.FILEPATH_CARTAIMBARCO_HASH FROM DOMANDA_SCONTI DS LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI ON DI.ID_RICHIESTA = DS.ID INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF ON AF.ID_ACCOUNT = D.ID_ACCOUNT AND DS.CODICE_FISCALE = AF.CODICE_FISCALE; -- -- VIEW_EXPORT_INTEGRAZIONI (View) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- DOMANDA_SCONTI_INTEGRAZIONE (Table) -- FNGETINTEGRAZIONE (Function) -- FNGETSCONTO (Function) -- CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_INTEGRAZIONI (ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA, RAPPORTO_PARENTELA, CODICE_FISCALE, COMUNE_RESIDENZA, PROV_RESIDENZA, CAP_RESIDENZA, COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA, AEROPORTO_PARTENZA, AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO, FILEPATH_CARTAIMBARCO, ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO, FILIALE_CREDITO, STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE, DATA_ESITO, DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID, DATA_ACQUISTO, LOTTO, FLAG, PRIORITA, ID_ACCOUNT, FORZA_RESIDENZA, CITTADINANZA, LOTTO_INTEGRAZIONE, INTEGRAZIONE, SCONTO_ORIGIN, FILEPATH_BIGLIETTO_HASH, FILEPATH_CARTAIMBARCO_HASH) BEQUEATH DEFINER AS SELECT DS.ID, DS.ID_DOMANDA, DS.COGNOME, DS.NOME, DS.DATA_NASCITA, DS.RAPPORTO_PARENTELA, DS.CODICE_FISCALE, CASE WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA ELSE AF.COMUNE_RESIDENZA END AS COMUNE_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA ELSE AF.PROV_RESIDENZA END AS PROV_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA ELSE AF.CAP_RESIDENZA END AS CAP_RESIDENZA, DS.COMPAGNIA_AEREA, DS.NUMERO_VOLO, DS.DATA_VOLO, DS.COSTO_TRATTA, DS.AEROPORTO_PARTENZA, DS.AEROPORTO_PARTENZA_CODICE, DS.AEROPORTO_DESTINAZIONE, DS.AEROPORTO_DESTINAZIONE_CODICE, DS.FILEPATH_BIGLIETTO, DS.FILEPATH_CARTAIMBARCO, CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END AS ISEE, CASE WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE ELSE D.DATA_RILASCIO_ISEE END AS DATA_RILASCIO_ISEE, CASE WHEN DS.STATO >= 1 THEN DS.IBAN ELSE D.IBAN END AS IBAN, CASE WHEN DS.STATO >= 1 THEN DS.ISTITUTO_CREDITO ELSE D.ISTITUTO_CREDITO END AS ISTITUTO_CREDITO, CASE WHEN DS.STATO >= 1 THEN DS.FILIALE_CREDITO ELSE D.FILIALE_CREDITO END AS FILIALE_CREDITO, DS.STATO, DS.DATA_REGISTRAZIONE, DS.ID_UID_FIREBASE, DS.DATA_ESPORTAZIONE, DS.DATA_ESITO, DS.DATA_EROGAZIONE, DS.NOTE, CASE WHEN DS.STATO >= 1 THEN CASE WHEN DI.ID_RICHIESTA IS NOT NULL THEN ( DS.SCONTO_TOTALE + TO_NUMBER (FNGETINTEGRAZIONE (DS.ID, DS.DATA_VOLO))) ELSE DS.SCONTO_TOTALE END ELSE TO_NUMBER (FNGETSCONTO (DS.ID, DS.DATA_VOLO)) END AS SCONTO_TOTALE, DS.COMPAGNIA_ID, DS.DATA_ACQUISTO, DS.LOTTO, CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END AS FLAG, CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END AS PRIORITA, D.ID_ACCOUNT, DS.FORZA_RESIDENZA, DS.CITTADINANZA, DI.LOTTO_INTEGRAZIONE, TO_NUMBER (FNGETINTEGRAZIONE(DS.ID, DS.DATA_VOLO)) AS INTEGRAZIONE, DS.SCONTO_TOTALE AS SCONTO_ORIGIN, DS.FILEPATH_BIGLIETTO_HASH, DS.FILEPATH_CARTAIMBARCO_HASH FROM DOMANDA_SCONTI DS LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI ON DI.ID_RICHIESTA = DS.ID INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF ON AF.ID_ACCOUNT = D.ID_ACCOUNT AND DS.CODICE_FISCALE = AF.CODICE_FISCALE; -- -- VIEW_EXPORT_SCONTI (View) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- DOMANDA (Table) -- DOMANDA_SCONTI (Table) -- DOMANDA_SCONTI_INTEGRAZIONE (Table) -- FNGETINTEGRAZIONE (Function) -- FNGETSCONTO (Function) -- CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_SCONTI (ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA, RAPPORTO_PARENTELA, CODICE_FISCALE, COMUNE_RESIDENZA, PROV_RESIDENZA, CAP_RESIDENZA, COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA, AEROPORTO_PARTENZA, AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO, FILEPATH_CARTAIMBARCO, ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO, FILIALE_CREDITO, STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE, DATA_ESITO, DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID, DATA_ACQUISTO, LOTTO, FLAG, PRIORITA, ID_ACCOUNT, FORZA_RESIDENZA, CITTADINANZA, LOTTO_INTEGRAZIONE, FILEPATH_BIGLIETTO_HASH, FILEPATH_CARTAIMBARCO_HASH) BEQUEATH DEFINER AS SELECT DS.ID, DS.ID_DOMANDA, DS.COGNOME, DS.NOME, DS.DATA_NASCITA, DS.RAPPORTO_PARENTELA, DS.CODICE_FISCALE, CASE WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA ELSE AF.COMUNE_RESIDENZA END AS COMUNE_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA ELSE AF.PROV_RESIDENZA END AS PROV_RESIDENZA, CASE WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA ELSE AF.CAP_RESIDENZA END AS CAP_RESIDENZA, DS.COMPAGNIA_AEREA, DS.NUMERO_VOLO, DS.DATA_VOLO, DS.COSTO_TRATTA, DS.AEROPORTO_PARTENZA, DS.AEROPORTO_PARTENZA_CODICE, DS.AEROPORTO_DESTINAZIONE, DS.AEROPORTO_DESTINAZIONE_CODICE, DS.FILEPATH_BIGLIETTO, DS.FILEPATH_CARTAIMBARCO, CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END AS ISEE, CASE WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE ELSE D.DATA_RILASCIO_ISEE END AS DATA_RILASCIO_ISEE, CASE WHEN DS.STATO >= 1 THEN DS.IBAN ELSE D.IBAN END AS IBAN, CASE WHEN DS.STATO >= 1 THEN DS.ISTITUTO_CREDITO ELSE D.ISTITUTO_CREDITO END AS ISTITUTO_CREDITO, CASE WHEN DS.STATO >= 1 THEN DS.FILIALE_CREDITO ELSE D.FILIALE_CREDITO END AS FILIALE_CREDITO, DS.STATO, DS.DATA_REGISTRAZIONE, DS.ID_UID_FIREBASE, DS.DATA_ESPORTAZIONE, DS.DATA_ESITO, DS.DATA_EROGAZIONE, DS.NOTE, CASE WHEN DS.STATO >= 1 THEN CASE WHEN DI.ID_RICHIESTA IS NOT NULL THEN ( DS.SCONTO_TOTALE + TO_NUMBER ( FNGETINTEGRAZIONE (DS.ID, DS.DATA_VOLO))) ELSE DS.SCONTO_TOTALE END ELSE TO_NUMBER (FNGETSCONTO (DS.ID, DS.DATA_VOLO)) END AS SCONTO_TOTALE, DS.COMPAGNIA_ID, DS.DATA_ACQUISTO, DS.LOTTO, CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END AS FLAG, CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END AS PRIORITA, D.ID_ACCOUNT, DS.FORZA_RESIDENZA, DS.CITTADINANZA, DI.LOTTO_INTEGRAZIONE, DS.FILEPATH_BIGLIETTO_HASH, DS.FILEPATH_CARTAIMBARCO_HASH FROM DOMANDA_SCONTI DS LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI ON DI.ID_RICHIESTA = DS.ID INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF ON AF.ID_ACCOUNT = D.ID_ACCOUNT AND DS.CODICE_FISCALE = AF.CODICE_FISCALE; -- -- PRC_RICALCOLA_SCONTO (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- FNGETSCONTO (Function) -- DBMS_OUTPUT (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE PRC_RICALCOLA_SCONTO ( p_id IN DOMANDA_SCONTI.ID%TYPE ) IS v_data_volo DOMANDA_SCONTI.DATA_VOLO%TYPE; v_sconto VARCHAR2(255); BEGIN -- Recupero la data del volo SELECT DATA_VOLO INTO v_data_volo FROM DOMANDA_SCONTI WHERE ID = p_id; -- Calcolo lo sconto v_sconto := FNGETSCONTO(p_id, v_data_volo); -- Aggiorno il campo (convertendo in numero) UPDATE DOMANDA_SCONTI SET SCONTO_TOTALE = TO_NUMBER(v_sconto) WHERE ID = p_id; COMMIT; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('Nessun record trovato per ID=' || p_id); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Errore: ' || SQLERRM); ROLLBACK; END PRC_RICALCOLA_SCONTO; / -- -- SPESPORTASCONTI (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- FNGETSCONTO (Function) -- VIEW_EXPORT_SCONTI (View) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE "SPESPORTASCONTI" ( P_ID INT, P_NUM_LOTTO INT ) AS CTR_STATO INT; CTR_PRES_ACC INT; T_ID_DOMANDA INT; T_ID_ACCOUNT INT; T_BENEFICIARIO VARCHAR2(255); T_COMUNE_RESIDENZA VARCHAR2(255); T_PROV_RESIDENZA VARCHAR2(2); T_CAP_RESIDENZA VARCHAR2(5); T_FLAG VARCHAR2(1000); T_ISEE INT; T_PRIORITY INT; T_DATA_RILASCIO_ISEE DATE; T_IBAN VARCHAR2(255); T_ISTITUTO_CREDITO VARCHAR2(255); T_FILIALE_CREDITO VARCHAR2(255); T_SCONTO_TOTALE NUMBER; T_DATA_VOLO DATE; BEGIN CTR_PRES_ACC :=0; SELECT STATO, ID_DOMANDA, CODICE_FISCALE, ID_ACCOUNT,ISEE,DATA_RILASCIO_ISEE,IBAN,ISTITUTO_CREDITO,FILIALE_CREDITO, COMUNE_RESIDENZA,PROV_RESIDENZA,CAP_RESIDENZA,FLAG,PRIORITA, DATA_VOLO INTO CTR_STATO, T_ID_DOMANDA, T_BENEFICIARIO, T_ID_ACCOUNT,T_ISEE,T_DATA_RILASCIO_ISEE,T_IBAN,T_ISTITUTO_CREDITO,T_FILIALE_CREDITO,T_COMUNE_RESIDENZA,T_PROV_RESIDENZA,T_CAP_RESIDENZA,T_FLAG,T_PRIORITY, T_DATA_VOLO FROM VIEW_EXPORT_SCONTI WHERE ID = P_ID; -- SELECT STATO, ID_DOMANDA, CODICE_FISCALE INTO CTR_STATO, T_ID_DOMANDA, T_BENEFICIARIO FROM DOMANDA_SCONTI WHERE ID = P_ID; /*Verifico la presenza del beneficiario nel nucleo familiare*/ --SELECT NVL(ID,0) INTO CTR_PRES_ACC FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO; --SELECT COUNT(*) INTO CTR_PRES_ACC FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO; -- IF CTR_STATO = 0 AND CTR_PRES_ACC > 0 THEN IF CTR_STATO = 0 THEN /*SELECT ID_ACCOUNT,ISEE,DATA_RILASCIO_ISEE,IBAN,ISTITUTO_CREDITO,FILIALE_CREDITO INTO T_ID_ACCOUNT,T_ISEE,T_DATA_RILASCIO_ISEE,T_IBAN,T_ISTITUTO_CREDITO,T_FILIALE_CREDITO FROM DOMANDA WHERE ID = T_ID_DOMANDA; SELECT COMUNE_RESIDENZA,PROV_RESIDENZA,CAP_RESIDENZA, FLAG, PRIORITY INTO T_COMUNE_RESIDENZA,T_PROV_RESIDENZA,T_CAP_RESIDENZA,T_FLAG, T_PRIORITY FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT;*/ T_SCONTO_TOTALE := TO_NUMBER(FNGETSCONTO(P_ID, T_DATA_VOLO)); UPDATE DOMANDA_SCONTI SET COMUNE_RESIDENZA = T_COMUNE_RESIDENZA, PROV_RESIDENZA = T_PROV_RESIDENZA, CAP_RESIDENZA = T_CAP_RESIDENZA, FLAG = T_FLAG, ISEE = T_ISEE, DATA_RILASCIO_ISEE = T_DATA_RILASCIO_ISEE, IBAN = T_IBAN, ISTITUTO_CREDITO = T_ISTITUTO_CREDITO, FILIALE_CREDITO = T_FILIALE_CREDITO, STATO = 1, DATA_ESPORTAZIONE = SYSTIMESTAMP, SCONTO_TOTALE = T_SCONTO_TOTALE, LOTTO = P_NUM_LOTTO, PRIORITY = T_PRIORITY WHERE ID = P_ID; END IF; END SPESPORTASCONTI; / -- -- SPPRESAINCARICO_DDG_NATALIZIO (Procedure) -- -- Dependencies: -- ESPORTAZIONI (Table) -- ESPORTAZIONI_SEQ (Sequence) -- SPESPORTASCONTI (Procedure) -- VIEW_EXPORT_SCONTI (View) -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_DDG_NATALIZIO ( DATA_INIZIO IN DATE, DATA_FINE IN DATE ) AS -- Dichiarazione delle variabili V_ID VIEW_EXPORT_SCONTI.ID%TYPE; V_NUM_LOTTO INT; -- Cursor per la SELECT CURSOR C_CURSOR IS SELECT ID FROM VIEW_EXPORT_SCONTI WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND DATA_VOLO BETWEEN TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND TO_DATE('06/01/2025 23:59:59','dd/mm/yyyy hh24:mi:ss') AND STATO = 0; BEGIN INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 10); SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL; -- Apertura del cursore OPEN C_CURSOR; -- Loop attraverso i risultati della SELECT LOOP -- Recupero dei valori dalla riga corrente FETCH C_CURSOR INTO V_ID; -- Uscita dal loop quando non ci sono più righe EXIT WHEN C_CURSOR%NOTFOUND; -- Chiamata alla funzione con i valori recuperati SPESPORTASCONTI(V_ID, V_NUM_LOTTO); END LOOP; -- Chiusura del cursore CLOSE C_CURSOR; END SPPRESAINCARICO_DDG_NATALIZIO; / -- -- SPPRESAINCARICO_PRIORITARI (Procedure) -- -- Dependencies: -- ESPORTAZIONI (Table) -- ESPORTAZIONI_SEQ (Sequence) -- SPESPORTASCONTI (Procedure) -- VIEW_EXPORT_SCONTI (View) -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_PRIORITARI ( DATA_INIZIO IN DATE, DATA_FINE IN DATE ) AS -- Dichiarazione delle variabili V_ID VIEW_EXPORT_SCONTI.ID%TYPE; V_NUM_LOTTO INT; -- Cursor per la SELECT CURSOR C_CURSOR IS SELECT ID FROM VIEW_EXPORT_SCONTI WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND (ISEE = 1 OR PRIORITA = 1) AND STATO = 0; BEGIN INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 1); SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL; -- Apertura del cursore OPEN C_CURSOR; -- Loop attraverso i risultati della SELECT LOOP -- Recupero dei valori dalla riga corrente FETCH C_CURSOR INTO V_ID; -- Uscita dal loop quando non ci sono più righe EXIT WHEN C_CURSOR%NOTFOUND; -- Chiamata alla funzione con i valori recuperati SPESPORTASCONTI(V_ID, V_NUM_LOTTO); END LOOP; -- Chiusura del cursore CLOSE C_CURSOR; END SPPRESAINCARICO_PRIORITARI; / -- -- SPPRESAINCARICO_PRIORITARI_NATALE (Procedure) -- -- Dependencies: -- ESPORTAZIONI (Table) -- ESPORTAZIONI_SEQ (Sequence) -- SPESPORTASCONTI (Procedure) -- VIEW_EXPORT_SCONTI (View) -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_PRIORITARI_NATALE ( DATA_INIZIO IN DATE, DATA_FINE IN DATE ) AS -- Dichiarazione delle variabili V_ID VIEW_EXPORT_SCONTI.ID%TYPE; V_NUM_LOTTO INT; -- Cursor per la SELECT CURSOR C_CURSOR IS SELECT ID FROM VIEW_EXPORT_SCONTI WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND DATA_VOLO < TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND (ISEE = 1 OR PRIORITA = 1) AND STATO = 0; BEGIN INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 1); SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL; -- Apertura del cursore OPEN C_CURSOR; -- Loop attraverso i risultati della SELECT LOOP -- Recupero dei valori dalla riga corrente FETCH C_CURSOR INTO V_ID; -- Uscita dal loop quando non ci sono più righe EXIT WHEN C_CURSOR%NOTFOUND; -- Chiamata alla funzione con i valori recuperati SPESPORTASCONTI(V_ID, V_NUM_LOTTO); END LOOP; -- Chiusura del cursore CLOSE C_CURSOR; END SPPRESAINCARICO_PRIORITARI_NATALE; / -- -- SPPRESAINCARICO_RESIDENTI (Procedure) -- -- Dependencies: -- ESPORTAZIONI (Table) -- ESPORTAZIONI_SEQ (Sequence) -- SPESPORTASCONTI (Procedure) -- VIEW_EXPORT_SCONTI (View) -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_RESIDENTI ( DATA_INIZIO IN DATE, DATA_FINE IN DATE ) AS -- Dichiarazione delle variabili V_ID VIEW_EXPORT_SCONTI.ID%TYPE; V_NUM_LOTTO INT; -- Cursor per la SELECT CURSOR C_CURSOR IS SELECT ID FROM VIEW_EXPORT_SCONTI WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND ISEE = 0 AND PRIORITA = 0 AND STATO = 0; BEGIN INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 0); SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL; -- Apertura del cursore OPEN C_CURSOR; -- Loop attraverso i risultati della SELECT LOOP -- Recupero dei valori dalla riga corrente FETCH C_CURSOR INTO V_ID; -- Uscita dal loop quando non ci sono più righe EXIT WHEN C_CURSOR%NOTFOUND; -- Chiamata alla funzione con i valori recuperati SPESPORTASCONTI(V_ID, V_NUM_LOTTO); END LOOP; -- Chiusura del cursore CLOSE C_CURSOR; END SPPRESAINCARICO_RESIDENTI; / -- -- SPPRESAINCARICO_RESIDENTI_NATALE (Procedure) -- -- Dependencies: -- ESPORTAZIONI (Table) -- ESPORTAZIONI_SEQ (Sequence) -- SPESPORTASCONTI (Procedure) -- VIEW_EXPORT_SCONTI (View) -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_RESIDENTI_NATALE ( DATA_INIZIO IN DATE, DATA_FINE IN DATE ) AS -- Dichiarazione delle variabili V_ID VIEW_EXPORT_SCONTI.ID%TYPE; V_NUM_LOTTO INT; -- Cursor per la SELECT CURSOR C_CURSOR IS SELECT ID FROM VIEW_EXPORT_SCONTI WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND DATA_VOLO < TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND ISEE = 0 AND PRIORITA = 0 AND STATO = 0; BEGIN INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 0); SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL; -- Apertura del cursore OPEN C_CURSOR; -- Loop attraverso i risultati della SELECT LOOP -- Recupero dei valori dalla riga corrente FETCH C_CURSOR INTO V_ID; -- Uscita dal loop quando non ci sono più righe EXIT WHEN C_CURSOR%NOTFOUND; -- Chiamata alla funzione con i valori recuperati SPESPORTASCONTI(V_ID, V_NUM_LOTTO); END LOOP; -- Chiusura del cursore CLOSE C_CURSOR; END SPPRESAINCARICO_RESIDENTI_NATALE; / -- -- SP_CONFERMA_VALIDATI (Procedure) -- -- Dependencies: -- DOMANDA_SCONTI (Table) -- ESPORTAZIONI (Table) -- ESPORTAZIONI_SEQ (Sequence) -- VIEW_EXPORT_SCONTI (View) -- DUAL (Synonym) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE SP_CONFERMA_VALIDATI ( LOTTO_FROM IN NUMBER ) AS V_NUM_LOTTO NUMBER; V_DATA_FILTRO DATE; BEGIN -- Recupero della data filtro dal lotto specificato SELECT DATA_FILTRO INTO V_DATA_FILTRO FROM ESPORTAZIONI WHERE LOTTO = LOTTO_FROM; -- Inserimento di un nuovo record in ESPORTAZIONI INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, V_DATA_FILTRO, 0); -- Recupero del valore corrente della sequenza SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL; -- Loop attraverso i risultati della SELECT FOR rec IN ( SELECT ID FROM VIEW_EXPORT_SCONTI WHERE LOTTO = LOTTO_FROM AND NOTE LIKE '%[VALIDATA]%' AND STATO = 1 ) LOOP -- Aggiornamento della tabella DOMANDA_SCONTI UPDATE DOMANDA_SCONTI SET LOTTO = V_NUM_LOTTO, STATO = 2, DATA_ESITO = SYSTIMESTAMP WHERE ID = rec.ID; END LOOP; END SP_CONFERMA_VALIDATI; / -- -- FN_ISCITTADINOUE (Function) -- -- Dependencies: -- COMUNE (Table) -- CONVERTI_OMO_CODICE (Function) -- VIEW_EXPORT_SCONTI (View) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FN_ISCITTADINOUE" ( P_ID IN NUMBER ) RETURN NUMBER IS T_COD_CF VARCHAR2(4); -- Variabile per il codice comune T_REGIONE VARCHAR2(255); -- Variabile per la regione T_CITTADINANZA VARCHAR2(255); -- Variabile per la cittadinanza BEGIN -- Estrarre il codice comune direttamente SELECT SUBSTR(CONVERTI_OMO_CODICE(CODICE_FISCALE), 12, 4), CITTADINANZA INTO T_COD_CF, T_CITTADINANZA FROM VIEW_EXPORT_SCONTI WHERE ID = P_ID; IF T_CITTADINANZA != '' THEN SELECT CODICE_REGIONE INTO T_REGIONE FROM COMUNE WHERE DESCRIZIONE = T_CITTADINANZA AND ATTIVO = 1; ELSE SELECT CODICE_REGIONE INTO T_REGIONE FROM COMUNE WHERE COD_CF = T_COD_CF AND ATTIVO = 1; END IF; RETURN CASE WHEN T_REGIONE = '' THEN 0 ELSE 1 END; EXCEPTION -- Gestione delle eccezioni (es. nessun record trovato) WHEN NO_DATA_FOUND THEN RETURN 0; -- Restituire 0 se non ci sono dati WHEN OTHERS THEN -- Log dell'errore se necessario (facoltativo) RAISE; -- Ritornare l'errore originale END FN_ISCITTADINOUE; / -- -- FN_ISNATIVO (Function) -- -- Dependencies: -- COMUNE (Table) -- CONVERTI_OMO_CODICE (Function) -- VIEW_EXPORT_SCONTI (View) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FN_ISNATIVO" ( P_ID IN NUMBER ) RETURN NUMBER IS T_COD_CF VARCHAR2(4); -- Variabile per il codice comune T_REGIONE NUMBER; -- Variabile per la regione BEGIN -- Estrarre il codice comune direttamente SELECT SUBSTR(CONVERTI_OMO_CODICE(CODICE_FISCALE), 12, 4) INTO T_COD_CF FROM VIEW_EXPORT_SCONTI WHERE ID = P_ID; -- Verificare ed estrarre la regione associata al codice comune SELECT REGIONE INTO T_REGIONE FROM COMUNE WHERE COD_CF = T_COD_CF AND REGIONE = 19; -- Restituire 1 se la regione è 19, altrimenti 0 RETURN CASE WHEN T_REGIONE = 19 THEN 1 ELSE 0 END; EXCEPTION -- Gestione delle eccezioni (es. nessun record trovato) WHEN NO_DATA_FOUND THEN RETURN 0; -- Restituire 0 se non ci sono dati WHEN OTHERS THEN -- Log dell'errore se necessario (facoltativo) RAISE; -- Ritornare l'errore originale END FN_ISNATIVO; / -- -- FN_ISRESIDENTE (Function) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- COMUNE (Table) -- DOMANDA (Table) -- VIEW_EXPORT_SCONTI (View) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FN_ISRESIDENTE" ( P_ID IN NUMBER ) RETURN NUMBER IS T_REGIONE NUMBER; -- Variabile per la regione CTR_STATO INT; T_ID_DOMANDA INT; T_ID_ACCOUNT INT; T_BENEFICIARIO VARCHAR2(255); T_COMUNE_RESIDENZA VARCHAR2(255); BEGIN -- Estrarre il codice comune direttamente SELECT ID_DOMANDA, STATO, CODICE_FISCALE, COMUNE_RESIDENZA INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO, T_COMUNE_RESIDENZA FROM VIEW_EXPORT_SCONTI WHERE ID = P_ID; IF CTR_STATO = 0 THEN SELECT ID_ACCOUNT INTO T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA; SELECT DISTINCT(COMUNE_RESIDENZA) INTO T_COMUNE_RESIDENZA FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT; END IF; -- Verificare ed estrarre la regione associata al codice comune SELECT REGIONE INTO T_REGIONE FROM COMUNE WHERE UPPER(DESCRIZIONE) = UPPER(T_COMUNE_RESIDENZA) AND REGIONE = 19 AND ATTIVO = 1; -- Restituire 1 se CODICE_REGIONE è un comune italiano o di uno stato UE, altrimenti 0 RETURN CASE WHEN T_REGIONE = 19 THEN 1 ELSE 0 END; EXCEPTION -- Gestione delle eccezioni (es. nessun record trovato) WHEN NO_DATA_FOUND THEN RETURN 0; -- Restituire 0 se non ci sono dati WHEN OTHERS THEN -- Log dell'errore se necessario (facoltativo) RAISE; -- Ritornare l'errore originale END FN_ISRESIDENTE; / -- -- FN_ISRESIDENTE_OPT (Function) -- -- Dependencies: -- ACCOUNT_NUCLEO_FAMILIARE (Table) -- COMUNE (Table) -- DOMANDA (Table) -- VIEW_EXPORT_SCONTI (View) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE FUNCTION "FN_ISRESIDENTE_OPT" ( P_ID IN NUMBER ) RETURN NUMBER IS T_REGIONE NUMBER; T_COMUNE_RESIDENZA VARCHAR2(255); BEGIN -- Recupero i dettagli necessari in una singola query SELECT NVL(COMUNE_RESIDENZA, ''), REGIONE INTO T_COMUNE_RESIDENZA, T_REGIONE FROM ( SELECT VE.COMUNE_RESIDENZA, C.REGIONE FROM VIEW_EXPORT_SCONTI VE LEFT JOIN DOMANDA D ON VE.ID_DOMANDA = D.ID LEFT JOIN ACCOUNT_NUCLEO_FAMILIARE ANF ON ANF.CODICE_FISCALE = VE.CODICE_FISCALE AND ANF.ID_ACCOUNT = D.ID_ACCOUNT LEFT JOIN COMUNE C ON UPPER(C.DESCRIZIONE) = UPPER(VE.COMUNE_RESIDENZA) AND C.ATTIVO = 1 WHERE VE.ID = P_ID AND VE.STATO = 0 ) DATA; -- Ritorna 1 se la regione è valida, altrimenti 0 RETURN CASE WHEN T_REGIONE = 19 THEN 1 ELSE 0 END; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN 0; -- Nessun dato trovato WHEN OTHERS THEN RETURN 0; -- Opzionalmente logga errori qui END FN_ISRESIDENTE_OPT; / -- -- SPPRESAINCARICO (Procedure) -- -- Dependencies: -- SPPRESAINCARICO_DDG_NATALIZIO (Procedure) -- SPPRESAINCARICO_PRIORITARI (Procedure) -- SPPRESAINCARICO_RESIDENTI (Procedure) -- STANDARD (Package) -- SYS_STUB_FOR_PURITY_ANALYSIS (Package) -- CREATE OR REPLACE PROCEDURE SPPRESAINCARICO ( DATA_INIZIO IN DATE, DATA_FINE IN DATE, TIPO IN INT ) AS BEGIN CASE TIPO WHEN 0 THEN SPPRESAINCARICO_RESIDENTI(DATA_INIZIO, DATA_FINE); WHEN 1 THEN SPPRESAINCARICO_PRIORITARI(DATA_INIZIO, DATA_FINE); ELSE SPPRESAINCARICO_DDG_NATALIZIO(DATA_INIZIO, DATA_FINE); END CASE; END SPPRESAINCARICO; / ALTER TABLE ACCOUNT_NUCLEO_FAMILIARE ADD ( CONSTRAINT FK_ACCOUNT_NUCLEO FOREIGN KEY (ID_ACCOUNT) REFERENCES ACCOUNT (ID) ENABLE VALIDATE); ALTER TABLE DOMANDA ADD ( CONSTRAINT ACCOUNT_DOMANDA_R01 FOREIGN KEY (ID_ACCOUNT) REFERENCES ACCOUNT (ID) ENABLE VALIDATE); ALTER TABLE DOMANDA_EMAIL ADD ( FOREIGN KEY (ID_DOMANDA) REFERENCES DOMANDA (ID) ENABLE VALIDATE); ALTER TABLE DOMANDA_SCONTI ADD ( FOREIGN KEY (ID_DOMANDA) REFERENCES DOMANDA (ID) ENABLE VALIDATE); ALTER TABLE DOMANDA_SCONTI_IMPORTI_LOG ADD ( CONSTRAINT DOMANDA_SCONTI_IMPORTI_LOG_R01 FOREIGN KEY (ID_DOMANDA_SCONTI) REFERENCES DOMANDA_SCONTI (ID) ENABLE VALIDATE); ALTER TABLE DOMANDA_SCONTI_IMPORTI_LOG ADD ( CONSTRAINT FK_ID_DOMANDA_SCONTI FOREIGN KEY (ID_DOMANDA) REFERENCES DOMANDA (ID) ENABLE VALIDATE); ALTER TABLE DOMANDA_SCONTI_INTEGRAZIONE ADD ( CONSTRAINT DOMANDA_SCONTI_INTEGRAZIONE_R01 FOREIGN KEY (ID_RICHIESTA) REFERENCES DOMANDA_SCONTI (ID) ENABLE VALIDATE); ALTER TABLE RICHIESTA_INTEGRAZIONE ADD ( CONSTRAINT FK_INTEGRAZIONE_DOMANDA FOREIGN KEY (ID_DOMANDA_SCONTI) REFERENCES DOMANDA_SCONTI (ID) ENABLE VALIDATE); ALTER TABLE AEROPORTI_COMPAGNIE ADD ( CONSTRAINT AEROPORTI_COMPAGNIE_R01 FOREIGN KEY (AEROPORTO) REFERENCES AEROPORTI (CODICE) ENABLE VALIDATE); ALTER TABLE AEROPORTI_COMPAGNIE ADD ( CONSTRAINT AEROPORTI_COMPAGNIE_R02 FOREIGN KEY (COMPAGNIA) REFERENCES ANAG_COMPAGNIE (ID) ENABLE VALIDATE);