首页 > 解决方案 > 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);

标签: javasqldatabaseoraclejdbc

解决方案


根据您的查询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".

StringPS:我忘了提一下,由于sql注入,自己编写查询可能很危险。


推荐阅读