我正在研究使用JDBC和内联SQL语句的旧jsp Web应用程序。
我们遇到数据库中数据不正确的问题,我想知道两个语句是否有可能以不同于代码中指定顺序的顺序执行。即如果我们有两个更新语句,就像下面的例子那样运行。
String sql1 = "update table set x = y";
String sql2 = "update table set z = a";
Statement statement = conn.createStatement();
db_wrapper.runSQL(sql1,statement);
db_wrapper.runSQL(sql2,statement);
是否有可能在繁重的负载下,第二个sql语句将在数据库的第一个之前运行。
安装我们主要是在oracle数据库上运行时遇到问题。
此外,该代码目前不使用交易。
答案 0 :(得分:2)
不,该线程将按此顺序调用Oracle驱动程序,没有显式的方法调用重新排序,也没有在JDBC中重新排序或查询。
但是:
答案 1 :(得分:0)
数据应按照提交更新执行的顺序显示。