Java 查询「;“合并”;执行时冻结。通过jdbc的Oracle
我对合并有疑问。当它在SqlDeveloper中运行时,它会正确执行。但当我试图使用jdbc在java中执行时,它冻结了Java 查询「;“合并”;执行时冻结。通过jdbc的Oracle,java,oracle,jdbc,merge,Java,Oracle,Jdbc,Merge,我对合并有疑问。当它在SqlDeveloper中运行时,它会正确执行。但当我试图使用jdbc在java中执行时,它冻结了 @Override public void updateRegion(int id, int region) { try { PreparedStatement statement = connection.prepareStatement( "MERGE INTO LINKING
@Override
public void updateRegion(int id, int region) {
try {
PreparedStatement statement = connection.prepareStatement(
"MERGE INTO LINKING_DOCTORS_TO_REGION l "
+ "USING LINKING_DOCTORS_TO_REGION l1 "
+ "ON (l1.user_ = ?) "
+ "WHEN MATCHED THEN UPDATE SET region = ? "
+ "WHEN NOT MATCHED THEN INSERT (region, user_) VALUES (?, ?)");
statement.setInt(1, id);
statement.setInt(4, id);
statement.setInt(2, region);
statement.setInt(3, region);
statement.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
怎么了?谢谢我在sqldeveloper中做了一些更改,但是忘记了提交。我在sqldeveloper中做了一些更改,但是忘记了提交。您能将其作为存储过程吗?然后,如果可能的话,您可以尝试通过“{call mergeSp(?,,?,?)}”调用它。您能将它变成一个存储过程吗?然后,如果可能,您可以尝试通过“{call mergeSp(?,,,?)}”调用它