problem with cast value from table. error ora-01723: zero-length columns are not allowed

25 Views Asked by At
VAR_SQL:= 'CREATE TABLE SMARTEVO.TEMP_INSERT_CO_COMPLETED AS
        (SELECT P.*, SYSDATE JOB_DATE
            ,''PV''||P.CO_PEV COD_ATTIVITA_GRUPPO --NUOVO GRUPPO PER RECORD DA VISTA PEV--
            FROM (SELECT DISTINCT
        '''||VAR_ACCOUNT||''' ACCOUNT,
        --CAMPI PER SITO--
            PEV.ID_SITO ID_SITO
            --CAMPI X ATTIVITA--
            ,PEV.ID_CO CO_PEV,PEV.ID_CO_PADRE CO_PADRE
            ,TRIM(PEV.STATOINTERNO_CO) STATO_INTERNO_CO, 121 ID_STATO
            , UPPER(TRIM(PEV.REGIONE)) REGIONE_OA
            ,UPPER(TAO.PROVINCIA) PROVINCIA_OA
            ,UPPER(TRIM(PEV.CATEGORIA_CO)) CATEGORIA_CO
            ,TRIM(PEV.PRIORITA_CO) PRIORITA_CO, TRIM(PEV.A27_PIANO_LAVORI) PIANO_LAVORI, TRIM(PEV.A29_ANNO_REALIZZAZIONE) ANNO_REAL
            ,UPPER(TRIM(PEV.A32_TIPO_RETE)) TIPO_RETE_ATTIVITA ,UPPER(TRIM(PEV.A33_TIPO_ATTIVITA)) TIPO_ATTIVITA ,UPPER(TRIM(PEV.A34_TIPO_INTERVENTO)) TIPOLOGIA_INTERVENTO
            ,TRIM(PEV.A41_STATO_COMPLEX) MILESTONE, TRIM(PEV.AREA) AREA_PEV, TRIM(PEV.A67_TIPO_SHARING) TIPOLOGIA_SHARING
        --CAMPI PER LEADING--
            ,NVL(NVL(NVL(TRIM(A180_ODA_TECNOLOGICI), TRIM(A243_N_ODA_SISTEMA_RADIANTE)), TRIM(A817_N2_ODA_SISTEMA_RADIANTE)),TRIM(A179_ODA_EDILE)) ANTENNA_ODA_PREV
            ,NVL(NVL(NVL(TRIM(A245_HW_PREVISTO), TRIM(A180_ODA_TECNOLOGICI)), TRIM(A243_N_ODA_SISTEMA_RADIANTE)),TRIM(A817_N2_ODA_SISTEMA_RADIANTE))||'' ''||NVL2(A249_HW_APPARATO_PREVISIONE,TO_CHAR(A249_HW_APPARATO_PREVISIONE ,''DD/MM/YYYY HH24:MI:SS''),A249_HW_APPARATO_PREVISIONE) HARDWARE_ODA_PREV
            ,PEV.M_PRONTO_LOCALI_F WEEK_PREV_PRONTO_LOCALI, PEV.M_PRONTO_LOCALI_C WEEK_REAL_PRONTO_LOCALI
            ,PEV.M_PRONTO_COLLAUDO_F WEEK_PREV_PRONTO_COLLAUDO, PEV.M_PRONTO_COLLAUDO_C WEEK_REAL_PRONTO_COLLAUDO
            ,PEV.M_ATTIVAZIONE_F WEEK_PREV_ATTIVAZIONE, PEV.M_ATTIVAZIONE_C DATA_ATTIVAZIONE
        --CAMPI PER BH--
        ,nvl(pev.A132_TIPO_BH, NULL) as TIPO_BH, nvl(PEV.A134_TIPO_ACCESSO, NULL) as PORTANTE_ACCESSO,
        PEV.A32_TIPO_RETE   TIPO_RETE_BH,
        PEV.A256_STATO_BH   STATO_BACKHAULING
        --,to_char(PEV.A117_DESC_COMPLET_BACKHAULING)   DESCRIZIONE_INSTRADAMENTO--
        -- PEV.A118_CLE_ATTESTAZIONE    LOCALITA_A, PEV.A119_PUNTOACCESSO_OPM   LOCALITA_Z --
        , nvl(PEV.A120_TIPO_ACCESSO_OPM, NULL) as ACCESSO_OPM, PEV.A297_TD1 TD, PEV.A298_TD2    TD_COTX, PEV.M_ATTIVAZIONE_C DATA_PROGETTAZIONE_BH
        
        FROM MLOGPROD.VWTI_SMARTEVO_NA@PLEVO_LNK PEV
        LEFT JOIN SMARTEVO.TPL_AREE_OPERATIVE TAO ON (TAO.SIGLA = UPPER(PEV.PROVINCIA))
        WHERE (PEV.A297_TD1 IS NOT NULL OR PEV.A298_TD2 IS NOT NULL)
        AND PEV.A29_ANNO_REALIZZAZIONE = 2023 --EXTRACT(YEAR FROM SYSDATE)
        AND UPPER(TRIM(PEV.TEMPLATE_CO)) IN (''RAN LAYER V1 NEW'', ''RAN LAYER V2 NEW'', ''RAN LAYER V2.0 NEW'',
        ''RAN LAYER V3 NEW'',''RAN SITE V1 NEW'', ''RAN SITE NIN V1 NEW'', ''RAN SITE V2 NEW'', ''RAN SITE V3 NEW'', ''RAN SITE NIN V3 NEW'',
        ''SHARING 5.0 TIPO A NEW'', ''SHARING 5.0 TIPO B NEW'', ''SHARING 5.0 TIPO D1 NEW'', ''SHARING 5.0 TIPO D2 NEW'',''PNRR - Layer v1'', ''PNRR v1'' )
        ) P
                  WHERE  NOT EXISTS (SELECT 1 FROM SMARTEVO.ATTIVITA where CO_PEV = P.CO_PEV)
            --OR NOT EXISTS (SELECT 1 FROM SMARTEVO.LEADING where COD_ATTIVITA_GRUPPO = ''PV''||P.CO_PEV )--
         )';
        --DBMS_OUTPUT.PUT_LINE(VAR_SQL);
EXECUTE IMMEDIAT

E VAR_SQL;

The smartevo_na table contains three columns

A120_OPM_ACCESS_TYPE
A132_TIPO_BH
A134_ACCESS_TYPE

set null, so when I launch this query it gives me an error like ORA-01723.

I don't want to assign a default value, for example 0, with nvl, for example nvl(pev.A132_TIPO_BH, 0), but I would like it to return the null value also in the destination table.

For example nvl(pev.A132_TIPO_BH, NULL), but this also throws an error. How can I do?

0

There are 0 best solutions below