Partitioning simply divides the one large table into several smaller ones. If your updates were confined to a (relatively) small subset of the rows, and that subset resided in a single partition (or at worst a very small number of partitions), then operations on that smaller table would be more efficient than the same operation on the same subset of the rows in the larger table. The indexes are smaller, etc.
But, since you indicate that the operation is done on all the rows, the only thing you'll buy is the overhead of managing the multiple partitions. If you had multiple servers, then the multiple partitions could be spread out over those processors and could be processed in parallel.
Without knowing the extent of your 'business logic' its hard to say for certain, but I suspect you'll find far more efficiency using a stored procedure so the processing takes place on the server and within the database itself. The alternative would be to ship 30 million rows to a client, and you really don't want to do that.
Jeff Mason
Custom Apps, Inc.
www.custom-apps.com