Oracle Apex Query выдаёт ошибку «ORA-06502: PL / SQL: цифра c или ошибка значения: слишком маленький буфер строки символов» - PullRequest
0 голосов
/ 28 февраля 2020

Я использую этот запрос в oracle запросах Apex с разметкой RTF. У sql разработчика этот запрос работает нормально и возвращает записи, как показано на снимке экрана, но когда я помещаю этот запрос в Oracle запрос Apex и связываю затем с кнопкой загрузки Oracle Apex выдает ошибку **

ORA-06502: PL / SQL: цифра c или ошибка значения: буфер символьной строки тоже маленький oracle апекс enter image description here

WITH pivot_data AS (
SELECT
    BILLING_MONTH,
    billing_month_l,
    comp_name,
    sdiv_code,
    mon_units_billed,
    mon_units_recvd,
    energy
FROM
    (
        SELECT
            to_date(billing_month, 'YYYYMM') billing_month_l,
            c.comp_name,
            sdiv_code,
            round(mon_units_billed / 1000000, 0) mon_units_billed,
            round(mon_units_recvd / 1000000, 0) mon_units_recvd
        FROM
            losses,
            company c
        WHERE formation_identifier = 1
            AND c.comp_code = losses.sdiv_code
        UNION ALL
        SELECT
            to_date(billing_month, 'YYYYMM') billing_month_l,
            'ALL DISCOs' comp_name,
            '99' sdiv_code,
            round(mon_units_billed / 1000000, 0) mon_units_billed,
            round(mon_units_recvd / 1000000, 0) mon_units_recvd
        FROM
            losses
        WHERE 
            formation_identifier = 5
    ) losses_data,
    (
        SELECT
            comp_code,
            to_date(billing_month, 'YYYYMM') billing_month,
            round(energy / 1000000, 0) energy
        FROM
            brs_test.tbl_energy
        UNION ALL
        SELECT
            99 comp_code,
            to_date(billing_month, 'YYYYMM') billing_month,
            round(SUM(energy) / 1000000, 0) energy
        FROM
            brs_test.tbl_energy
        GROUP BY
            billing_month
    ) energy_data
WHERE
    losses_data.sdiv_code = energy_data.comp_code
    AND losses_data.billing_month_l = energy_data.billing_month
) SELECT to_char(BILLING_MONTH,'YYYYMM') BILLING_MONTH,
 SUM(LHR_ENERGY) LHR_ENERGY,SUM(LHR_BILLED) LHR_BILLED,SUM(LHR_RECEIVED) LHR_RECEIVED,
 SUM(GRW_ENERGY) GRW_ENERGY,SUM(GRW_BILLED) GRW_BILLED,SUM(GRW_RECEIVED) GRW_RECEIVED,
 SUM(FBD_ENERGY) FBD_ENERGY,SUM(FBD_BILLED) FBD_BILLED,SUM(FBD_RECEIVED) FBD_RECEIVED,
 SUM(ISD_ENERGY) ISD_ENERGY,SUM(ISD_BILLED) ISD_BILLED,SUM(ISD_RECEIVED) ISD_RECEIVED,
 SUM(MUL_ENERGY) MUL_ENERGY,SUM(MUL_BILLED) MUL_BILLED,SUM(MUL_RECEIVED) MUL_RECEIVED,
 SUM(PSH_ENERGY) PSH_ENERGY,SUM(PSH_BILLED) PSH_BILLED,SUM(PSH_RECEIVED) PSH_RECEIVED,
 SUM(HYD_ENERGY) HYD_ENERGY,SUM(HYD_BILLED) HYD_BILLED,SUM(HYD_RECEIVED) HYD_RECEIVED,
 SUM(SUK_ENERGY) SUK_ENERGY,SUM(SUK_BILLED) SUK_BILLED,SUM(SUK_RECEIVED) SUK_RECEIVED,
 SUM(QTA_ENERGY) QTA_ENERGY,SUM(QTA_BILLED) QTA_BILLED,SUM(QTA_RECEIVED) QTA_RECEIVED,
 SUM(TSC_ENERGY) TSC_ENERGY,SUM(TSC_BILLED) TSC_BILLED,SUM(TSC_RECEIVED) TSC_RECEIVED,
 SUM(AD_ENERGY) AD_ENERGY,SUM(AD_BILLED) AD_BILLED,SUM(AD_RECEIVED) AD_RECEIVED 
FROM
pivot_data PIVOT (
    SUM ( energy )
AS energy, SUM ( mon_units_billed ) billed, SUM ( mon_units_recvd ) AS received
    FOR SDIV_CODE
    IN ( 11 AS LHR, 12 AS GRW, 13 AS FBD, 14 AS ISD, 15 AS MUL, 26 AS PSH, 37 AS HYD, 38 AS SUK, 48 AS QTA,
    59 AS TSC,99 AD )
)
GROUP BY   BILLING_MONTH ORDER BY billing_month DESC

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...