【发布时间】:2014-06-26 18:43:07
【问题描述】:
我正在尝试使用 Pro*c 从我的 C 代码运行 SQL。这是我的 SQL
EXEC SQL select count(1) from MY_TABLE where id IN ( :format );
id 是 NUMBER(10),格式是 char 数组,包含值 1,2,3,4,5
这是返回“不是数字”的错误 但是,如果格式数组只是一个数字,它运行良好。 如果有人发现错误,请告诉我。
谢谢!
【问题讨论】:
-
IN 子句不支持这种方式的绑定变量。使用 Pro*C,您可能已经形成了一个带有硬编码值的查询字符串,或者尝试this
-
考虑为 IN 运算符添加参数列表。无需在 SQL 中硬编码,只需添加 (:form1, :form2, ...)
-
@OracleUser:请将其添加为评论,以便我可以将其标记为答案。