【问题标题】:Toad for Oracle bind variables with IN clauseToad for Oracle 使用 IN 子句绑定变量
【发布时间】: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


【解决方案1】:

正如 OldProgrammer 所指出的,Gerrat 在指定线程中“您不能在一个绑定变量中使用逗号分隔值”的回答也正确回答了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-26
    • 2012-11-17
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多