I think BULK COLLECT and FORALL will help you in this case.
BULK COLLECT: SELECT statements that retrieve multiple rows with a single fetch, improving the speed of data retrieval
FORALL: INSERTs, UPDATEs, and DELETEs that use collections to change multiple rows of data very quickly
OR
The two most common forms of Bulk Updates are:
1.Update (almost) every row in the table. This is common when applying data patches and adding new columns.
2.Updating a small proportion of rows in a very large table.
checkout below link for more details
http://www.oracle.com/technetwork/issue-archive/2012/12-sep/o52plsql-1709862.html
http://www.orafaq.com/node/2450
Thanks
Koolprasd2003
Editor, DotNetSpider MVM
Microsoft MVP 2014 [ASP.NET/IIS]