【发布时间】:2014-03-09 17:31:56
【问题描述】:
我的查询如下所示:
select * from foo where id in (:ids)
其中 id 列是一个数字。
在 TOAD 版本 11.0.0.116 中运行它时,我想提供一个 id 列表,以便生成的查询是:
select * from foo where id in (1,2,3)
下面的简单方法给出了一个错误,即 1,2,3 不是有效的浮点值。是否有类型/值组合可以让我运行所需的查询?
澄清:所示查询是它在我的代码中的显示方式,我将其粘贴到 TOAD 以测试具有各种值的查询结果。迄今为止,我只是用逗号分隔列表对 TOAD 中的绑定变量进行了文本替换,这工作正常,但尝试不同的值列表有点烦人。此外,我有几个以这种方式测试的这种形式的查询,因此我正在寻找一种不那么繁琐的方式来在 TOAD 中输入值列表而无需修改查询。如果这不可能,我将继续步行方式。
【问题讨论】:
-
我看不出这是那个问题的重复。你是说 Gerrat 的回答“你不能在一个绑定变量中使用逗号分隔值”适用于上面的 TOAD 对话框,就像它适用于那里显示的 PL/SQL 块一样?
-
没错。它与 TOAD 无关。您要么必须使用其他方法将字符串“分解”为单独的数据项(如重复答案所示),要么在查询中使用单独的变量,例如“in (:v1,:v2,:v3...) ;
-
很公平。如果您想将其发布为答案,我会接受。
标签: oracle toad in-clause bind-variables