Hi Captain Rock,
This is one of the biggest gaps in InfoPath today and it is why Qdabra developed it's generic Web Service Suite called DBXL for Database Accelerator. Obviously, Qdabra pays for this free forum and you could not care less about that. You just want a solution to your sore noggin.
Since it's not a best practice to rfeate a data connection that binds directly to the DB, you have chosen Web Services. Your Web Service will have to understand how to update rows when edits are made. DBXL does this but hasn't been deployed for Oracle. Bottom line: you'll need someone to help you with your submit web service. You'll have to change it to take the 4 unique fields and replace the rowsets that correspond to it.
Good luck!