It is obvious that for bulk data processing performance is the key factor. It often means balancing well structured, maintainable, reusable and high-performance code.
Even though there are more features and optimizations that support bulk processing with each release of PL/SQL, the "Pure SQL" approach often leads to better performance.
Best practices, tips and tricks. How do I develop a complex SQL? How can Subquery Factoring help to increase readability? How does this help to test complex SQLs? What is a Row Generator? How do I change the cardinality of the original data set?