Oracle 如何在XMLTable函数中使用varchar2变量?

Oracle 如何在XMLTable函数中使用varchar2变量?,oracle,varchar2,xmltable,Oracle,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(COLU

我尝试使用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');

请在这方面提供帮助。

您喜欢这样做吗

DECLARE 
   IDs VARCHAR2(2000);
BEGIN
   IDs := '4013105,4013106,4013107,4013108,4013109';
   SELECT TO_NUMBER(COLUMN_VALUE) 
   BULK COLLECT INTO ...
   FROM XMLTABLE(IDs);
END;