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

时间:2013-12-19 13:58:26

标签: 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(COLUMN_VALUE) FROM XMLTABLE('4013105,4013106,4013107,4013108,4013109');

请帮助这方面..

1 个答案:

答案 0 :(得分:0)

你喜欢这样做吗?

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