java - ORA-00933: UPDATE 命令的 SQL 命令未正确结束
问题描述
我的更新命令抛出异常
Class.forName("oracle.jdbc.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","Durga");
st = con.createStatement();
br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bonus Amount : ");
int bonus_amt = Integer.parseInt(br.readLine());
System.out.println("salary range:");
float sal_range = Float.parseFloat(br.readLine());
int rowCount = st.executeUpdate("UPDATE employee SET esal = esal "+bonus_amt+ " where esal <" +sal_range);
解决方案
根据您的查询String
:"UPDATE employee SET esal = esal "+bonus_amt+ " where esal <" +sal_range
我假设您在set
关键字之后缺少一个运算符,如下所示:
"UPDATE employee SET esal = esal + " + bonus_amt + " where esal < " + sal_range
否则你会得到这样的查询:"UPDATE employee SET esal = esal 1 where esal < 1"
.
String
PS:我忘了提一下,由于sql注入,自己编写查询可能很危险。
推荐阅读
- python - 从 Windows 命令行启动 Python 脚本:脚本启动,然后失败
- javascript - 重定向到感谢页面在我的 PHP 代码中不起作用,使用模板
- optimization - 布尔代数在实践中的效率如何?
- c++ - ListNode 的删除指针给出错误
- mysql - 提高 GCP SQL 故障转移的速度
- dialogflow-es - 填充对话框流代码无法与实时数据库连接
- mips - 在 MIPS 中,命令行参数究竟是如何存储在 $a1 中的?
- sql-server - 在golang中将datetimeoffset转换为datetime?
- java - 如何通过按下按钮来替换 div 的内容
- vb.net - 异步搜索 Outlook 全局地址列表