java - IN 子句中的多个列 Apache Derby

标签 java prepared-statement multiple-columns derby sql-in

我有以下 SQL 查询:

SELECT
    ORDER_ID,
    ORDER_CODE
FROM
    ORDERS
WHERE
    (ORDER_ID,SEQUENCE) in ((?,?))

PreparedStatement statement = connection.prepareStatement(sql)

上面的代码行使用上述查询在 Oracle 中成功生成了一个 PreparedStatement 对象,但在 Apache Derby 中,它抛出以下异常:

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "," at line 8, column 14.

有人可以解释一下如何在 DERBY 中查询 IN 子句中的多个列吗?

引用帖子:
http://apache-database.10148.n7.nabble.com/Using-IN-clause-with-multiple-columns-td98558.html

谢谢!

最佳答案

结论:Derby 不支持预准备语句的多个 IN 子句。 (?,?) -- 此语法会引发错误。

转移到 H2 数据库进行测试会更好,因为可以在那里进行测试并且功能更强大。

关于java - IN 子句中的多个列 Apache Derby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48175692/

相关文章:

Java - 在不知道字符编码的情况下将 byte[] 转换为 String

php - 只有变量应该通过引用传递 bind_param (PHP)

php - 在 mySQL 准备语句中使用变量

html - 如何使用 css column-count 将列标题放在分栏符的顶部

java - 将映射器流应用于 Java8 中的另一个流

java - SLF4J:Hibernate3 与 RESTeasy

java - Websphere 上的 Web 服务客户端在方法调用时抛出 NullPointer

sql - Node-postgres:命名参数查询(nodejs)

iOS:NSString 的列格式在 UITextView 中不起作用?

html - CSS - 宽度由内容决定的灵活列数 - 可能吗?