What are the best practices for ETL of data from one OLTP system to another, Part 2?
Relational database guys always like to think in "sets" but some tasks just don't work that way.  With ETL, since there is no way around the physical disk having to actually write data you just want to reduce the overhead related to each individual query as much as possible.  

Speaking for MSSQL.  If you use "parameterized" queries.  Looping in code and updating in that fashion should be fine.  The reason for this is that by using a parameterized query, the SQL engine can cache a query plan to use for each iteration of your loop and avoid the overhead of starting from scratch each time.  

Google parameterized query if you are unfamiliar with that term.  Speaking in Java terms you can also search for Prepared Statements.

I say "should be fine" in my previous post.... assuming that the query you are going to run repeatedly is as well written and efficient as possible.  

If you are able to analyze a sample query that is going to be run repeatedly and find out what it's resulting query plan is.  You may find there are indexes that aren't necessary that can be turned off in order to improve the performance of the update.  

Or, on the flip side, if your update includes logic that causes a table scan on a related table you may find the addition of an index would greatly improve the performance of your update.