I have query on merge. When it runs in SqlDeveloper, it executes correctly. But when I trying to execute in java using jdbc, it freezes.
@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();
}
}
What is wrong? Thanks