If you wanted to pick a book in PL/SQL, I recommend this one- Donald Bales: Beginning PL/SQL : From Novice to Professional.
I remember I told my colleague that for starting as a programmer, we read a lot of syntax and rely on reference book most of the time. Something like a dictionary, where you can find the word for your writing. As time moves on when we started to get familiar with the syntax, getting another reference book will not improve our skill any further. To move forward, it about getting a new concept on how to write better software. More thinking is shift to the design work instead of the labor coding work.
And this book has both of them. It started with brief coding on the first half and the second part is more involve in design and coding concept. It also has a fairy tale chapter, which is my favorite chapter, because in order to use of what he had describe seems to be really a fairy tale. The interface and design in that chapter make sense but I have seen none of them being used so far in my working career.
So to my book review, as usual, it is separate to 3 sections.
1. Who should read it?
Programmer starting to learn PL/SQL for the first time or senior developer who might want to get more insight on design.
2. What is it all about?
SQL and PL/SQL. Beside just syntax reference, there are also chapter in concept for object orientation, debugging, testing and documentation. Object orientation gives me a great insight on how to utilize the object type feature available in PL/SQL. Of course, debugging, testing and documentation also play an important part in programming career. This book provide good example for all of them.
3. What so special about it?
The book is written in non-too-technical way and a bit of humor, therefore it's fun to read. Although some of the joke I can't quite get it but it may put a smile on other reader. Beside that, this book will probably make me read it up again and again because there are more stuff to explore and learn. Fully competent in coding? Then try write better debugging tool. Got a perfect debug tool, then write better unit test. Had a 0% fail rate on your script, then write better documentation. No support call from user because of excellent document? Create a new product and start coding again. By the way, did I mentioned there is a fairy tale chapter?
Overall, the book is enjoyable to read and in the same time it cover all major topic required to write better PL/SQL script.