ORA-19011 в Селекте в оракуле - PullRequest
       1

ORA-19011 в Селекте в оракуле

1 голос
/ 27 сентября 2019

У меня есть оператор выбора, который выдает ошибку

ORA-19011: слишком маленький буфер символьной строки

Выбор такой, как показано ниже

SELECT Substr(Rtrim (Xmlagg (Xmlelement (e, Concat(message_text, ' '))).extract 
                     ( 
                            '//text()'), 
                            ' '), 0, 256) message_text, 
       mobile_number, 
       tran_date, 
       parent_tran_acct_no 
FROM   custom.mobee_push_sms_drc 
WHERE  bank_id = '43' 
       AND status = 'A' 
       AND mobile_number <> '243' 
       AND mobile_number LIKE '243%' 
GROUP  BY mobile_number, 
          tran_date, 
          parent_tran_acct_no 

Пожалуйста, помогите исправить sql.

1 Ответ

1 голос
/ 27 сентября 2019

Кажется, что вам не хватает GetClobVal:

  SELECT SUBSTR (
            RTRIM (
               XMLAGG (XMLELEMENT (e, CONCAT (MESSAGE_TEXT, ' '))).EXTRACT (
                  '//text()').GetClobVal (),                                      --> here
               ' '),
            0,
            256)
            MESSAGE_TEXT,
         mobile_number,
         tran_date,
         parent_tran_acct_no
    FROM custom.mobee_push_sms_drc
   WHERE     bank_id = '43'
         AND status = 'A'
         AND mobile_number <> '243'
         AND mobile_number LIKE '243%'
GROUP BY mobile_number, tran_date, parent_tran_acct_no

Без этого Oracle пытается преобразовать XMLtype в VARCHAR2, а не CLOB, поэтому результат не может соответствовать.

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