Как использовать переменную varchar2 в функции XMLTable?

Я пытаюсь использовать функцию XMLTable следующим образом,

DECLARE IDs VARCHAR2(2000);

IDs := '4013105,4013106,4013107,4013108,4013109';

SELECT TO_NUMBER(COLUMN_VALUE) FROM XMLTABLE(:TRACT_IDS);

но получаю эту ошибку

PL/SQL: ORA-19102: ожидается строковый литерал XQuery

Если я использую XMLTable в следующем примере, он работает успешно,

SELECT TO_NUMBER(COLUMN_VALUE) FROM XMLTABLE('4013105,4013106,4013107,4013108,4013109');

Пожалуйста, помогите в этом отношении..

1 ответ

Вам нравится это делать?

DECLARE 
   IDs VARCHAR2(2000);
BEGIN
   IDs := '4013105,4013106,4013107,4013108,4013109';
   SELECT TO_NUMBER(COLUMN_VALUE) 
   BULK COLLECT INTO ...
   FROM XMLTABLE(IDs);
END;
Другие вопросы по тегам