«ORA-01858: не числовой символ был найден там, где ожидалось число ORA-06512: - PullRequest
0 голосов
/ 30 июня 2019

В определенный момент в коде происходит сбой процедуры, и выдается ошибка ORA-01858. Вне процедуры, кажется, работает нормально.

Я пробовал несколько решений, предусмотренных для переполнения стека, но, похоже, не работает.

begin

execute immediate ('truncate table DAILY_SALES');

end;

insert
/*+ Append */
into DAILY_SALES
(
columns...
)

SELECT 
'   Day ' ||
       TO_CHAR(TO_DATE(mv_rpt_daily_comp_sales.YTY_DATE,'DD-MM-YY'),
               'MM/DD/YYYY') Time_Period,  --'DD-MM-YY'
       TO_CHAR(ROUND((MIN(CASE
                            WHEN mv_rpt_daily_comp_sales.OWNER_GROUP = 'System' THEN
                             mv_rpt_daily_comp_sales.YTY_TTL_SALES_CHNG_PCT
                          END) * 100),
                     1),
               '990.9') || '%' AS "System",
       TO_CHAR(ROUND((MIN(CASE
                            WHEN mv_rpt_daily_comp_sales.OWNER_GROUP = 'Company' THEN
                             mv_rpt_daily_comp_sales.YTY_TTL_SALES_CHNG_PCT
                          END) * 100),
                     1),
               '990.9') || '%' AS "Company",
       TO_CHAR(ROUND((MIN(CASE
                            WHEN mv_rpt_daily_comp_sales.OWNER_GROUP = 'Franchise' THEN
                             mv_rpt_daily_comp_sales.YTY_TTL_SALES_CHNG_PCT
                          END) * 100),
                     1),
  ....

1 Ответ

0 голосов
/ 01 июля 2019

Здесь вы в основном используете три столбца, и их тип данных должен быть следующим:

  • mv_rpt_daily_comp_sales.YTY_DATE -> Должен иметь тип данных VARCHAR2 и содержит все значения в формате: 'DD-MM-YY'
  • mv_rpt_daily_comp_sales.OWNER_GROUP -> Должен иметь тип данных VARCHAR2
  • mv_rpt_daily_comp_sales.YTY_TTL_SALES_CHNG_PCT -> Должен иметь тип данных NUMBER (ИЛИ это может быть VARCHAR2 со всеми значениями в этом столбце number)

Надеюсь, вам будет полезно найти решение.

Ура !!

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