java - ORA-00933: SQL 命令未正确结束 - WHERE 子句
问题描述
我已将以下查询存储在字符串中以请求我的 OracleDB:
"SELECT firstname, lastname, COUNT(kids)
FROM test_table
WHERE firstname in ('mario', 'peter')
GROUP BY firstname, lastname
ORDER BY firstname, lastname;"
当我通过我的 Java 应用程序和 JDBC 执行查询时,我收到以下错误:
Exception in thread "main" java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:195)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:876)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1498)
at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:406)
at com.foo.test.App.main(App.java:30)
解决方案
去掉分号,这里:
ORDER BY firstname, lastname;"
^
|
推荐阅读
- metpy - Stationplot barbs 因 AttributeError 而失败:“list”对象没有属性“shape”
- reactjs - 如何将 toMatchSnapshot 与酶一起使用,因此结果类似于带有 react-testing-library 的 container.firstChil
- java - Java 日历没有得到正确的星期几
- java - 为什么在 Effective Java 中推荐使用静态方法?
- python-3.x - 使用 configparser 导入系统路径不起作用
- android - 反应本机linkedin登录正在重定向到url
- javascript - 从数组中删除所有具有特征 X 的元素,除了最新的
- android - Android Spinner 使项目可点击但不可选择
- php - Magento 2 - 从运输中的自定义字段获取数据并显示在管理 > 销售 > 订单和电子邮件中
- python - 将项目附加到 Pandas Dataframe 以表现得像打印语句