【发布时间】:2014-06-19 23:38:45
【问题描述】:
我正在开发一个存储过程,但我被困在一个步骤中。 在某些时候我有这个:
stmt := stmt || ' AND Risk.Code IN (:4) ';
当 :4 是包含值列表的文本变量时,我如何让 risk.code 执行 "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20"
【问题讨论】:
-
绑定变量不适用于
IN子句这种方式。它应该像IN (:1,:2,:3)。您可以将这些值插入到嵌套表中,并将CAST作为表插入。 Example。您还可以尝试NUMBER_TABLE - 以及DBMS_SQL,如图所示here -
Tom Kyte 记录了解决此类问题的方法,tkyte.blogspot.com/2006/06/varying-in-lists.html。