|
|
 |
Blogs Toad and Database Commentaries |
Toad World blogs are a mix of insightful how-tos from Quest experts as well as their commentary on experiences with new database technologies. Have some views of your own to share? Post your comments! Note: Comments are restricted to registered Toad World users.
Do you have a topic that you'd like discussed? We'd love to hear from you. Send us your idea for a blog topic.

 |
 |
|
|
 |
 |
|
Author: |
StevenFeuersteinTW |
Created: |
Thursday, October 26, 2006 10:47 AM |
 |
 |
Steven Feuerstein is considered one of the world's leading experts on the Oracle PL/SQL language, having written ten books on PL/SQL (all published by O'Reilly Media, including Oracle PL/SQL Programming. Steven has been developing software since 1980, spent five years with Oracle (1987-1992) and has served as PL/SQL Evangelist for Quest Software since January 2001. He is also an Oracle ACE Director. He writes regularly for Oracle Magazine, which named him the PL/SQL Developer of the Year in both 2002 and 2006.
Steven's blog provides advice and code that you can put to immediate use in your world of programming.
Recent postings on PL/SQL:
|
|
|
|
Automatic refactoring in PL/SQL tools – Part 1 |
|
StevenFeuersteinTW
|
Tuesday, December 09, 2008 12:23 PM
|
|
|
|
I have long been attracted to the idea and process of refactoring (explained below). It is now very exciting to see that automated refactoring features are working their way into tools for PL/SQL development. I will analyze these features over the next few entries in my ToadWorld blog, starting with SQL Develop ...
|
 |
|
|
Read More...
|
|
|
Congratulations to the newest Oracle Magazine PL/SQL Developer of the Year! |
|
StevenFeuersteinTW
|
Monday, November 03, 2008 8:03 AM
|
|
|
|
As I travel certain parts of the globe doing presentations on PL/SQL, I meet many extremely talented PL/SQL programmers – people who meet the most complex challenges you can imagine with a deft combination of intense creativity, hard work, and of course Oracle PL/SQL.
Oracle Magazine names only one as the PL/SQL Developer of the Year at each Oracle Open World, and this year the award was g ...
|
 |
|
|
Read More...
|
|
|
Play games to become a better developer! |
|
StevenFeuersteinTW
|
Tuesday, October 28, 2008 9:23 AM
|
|
|
|
Part 2: The Game of Mastermind
Software development is one heck of a serious job. It turns out, however, that there are several games you can play to improve the quality of code you write. This is the second of two blog entries that introduce you to two of my favorite brain development and training games:
 |
|
|
Read More...
|
|
|
Play games to become a better developer! |
|
StevenFeuersteinTW
|
Monday, October 20, 2008 7:01 AM
|
|
|
|
Part 1: The Game of Set
Software development is one heck of a serious job. It turns out, however, that there are several games you can play to improve the quality of code you write. This is the first of two blog entries that introduce you to two of my favorite brain development and training games: Set and Mastermin ...
|
 |
|
|
Read More...
|
|
|
Doing SQL in PL/SQL: key resource from Bryn Llewellyn |
|
StevenFeuersteinTW
|
Wednesday, October 08, 2008 10:09 AM
|
|
|
|
One of the highlights of Oracle Open World 2008 for me was the presentation by Bryn Llewellyn (PL/SQL Product Manager) on “Doing SQL in PL/SQL.”
Bryn surely has the most thorough and clear understanding of the PL/SQL language of anyone I have met (definitely including me).
His talk was detailed ...
|
 |
|
|
Read More...
|
|
|
For loops or While loops to scan collections? |
|
StevenFeuersteinTW
|
Monday, September 22, 2008 9:21 AM
|
|
|
|
I have generally recommended in the past that whenever you are writing code to iterate through the elements of a collection, you should use a while loop, combined with the FIRST-NEXT or LAST-PRIOR collection methods.
The key advantage of this approach is that the code will not raise a NO_DATA_FOUND exception if your collection is sparse (there is an index value be ...
|
 |
|
|
Read More...
|
|
|
|
Oracle Open World Presentations |
|
StevenFeuersteinTW
|
Tuesday, July 22, 2008 8:41 AM
|
|
|
|
Hey folks,
For anyone attending Oracle Open World this year, here is my schedule of presentations:
Session ID: S300184
Session Title: Weird PL/SQL
Track: Oracle Develop: Database
Room: Golden Gate C3
Date: 2008-09-21
Start Time: 15:45
|
 |
|
|
Read More...
|
|
|
Always Bulk Collect |
|
StevenFeuersteinTW
|
Monday, June 23, 2008 7:34 AM
|
|
|
|
You learn something new every day, right? Well, I certainly do (more or less). Even about PL/SQL, about which I am sure many people think I already know everything. Far from it.
In fact, I learned just last week from the PL/SQL Product Manager, Bryn Llewellyn, that his recommendation regarding cursor FOR loops and bulk collect is different fro ...
|
 |
|
|
Read More...
|
|
|
How to Run an OS Command from PL/SQL |
|
StevenFeuersteinTW
|
Wednesday, June 04, 2008 7:11 AM
|
|
|
|
Oracle doesn't make it terribly easy to run operating system commands from within a PL/SQL block. I suppose that's understandable, given that PL/SQL is an embedded database-oriented language. Still, developers do ask me on a regular basis about how they can do this.
As I understand it, there are basically three ways to do this:
- Invoke a Java method from wit ...
|
 |
|
|
Read More...
|
|
|
Testing and refreshing data from production |
|
StevenFeuersteinTW
|
Thursday, April 17, 2008 9:21 AM
|
|
|
|
As many of my readers likely know by now, I have been working for the past several years on the Quest Code Tester development effort.
Code Tester is the most powerful PL/SQL test automation tool available. You describe the expected behavior of your programs and Code Tester generates your test code, which can then be run from the UI or via a script. With Code Teste ...
|
 |
|
|
Read More...
|
|
|
Auto-formatting of templates for Toad |
|
StevenFeuersteinTW
|
Thursday, April 10, 2008 9:14 AM
|
|
|
|
A few months ago, I posted on this blog an explanation of how to use Toad's Code Templates to standardize development and improve productivity. I included an XML document that contains over 20 templates that I thought you might find useful. I also asked my readers to produce XML transformations so that the XML document could be "output" in the format that Toad recognizes (and SQL Navigator as ...
|
 |
|
|
Read More...
|
|
|
Weird PL/SQL |
|
StevenFeuersteinTW
|
Monday, March 17, 2008 12:57 PM
|
|
|
|
Collaborate08, annual conference of the International Oracle User Group, and several other national and international user groups, will be held in Denver this year, from April 13th to the 16th. I am going to present three papers, including (for the first time) Weird PL/SQL. I thought you might enjoy reading about some of the weirdnesses of PL/S ...
|
 |
|
|
Read More...
|
|
|
Just how popular is PL/SQL? |
|
StevenFeuersteinTW
|
Monday, February 04, 2008 11:56 AM
|
|
|
|
Just how popular is PL/SQL?
And how many PL/SQL developers are there "out there"?
These are surprisingly hard questions to answer. Officially and even unofficially, Oracle Corporation's point people on PL/S ...
|
 |
|
|
Read More...
|
|
|
|
Single quotes and CLOBs in 10.2.0.3 |
|
StevenFeuersteinTW
|
Wednesday, December 19, 2007 5:41 PM
|
|
|
|
I usually write about best practice principles and general issues.
Today I thought I would share a bit of my pain with you on a very specific topic: single quotes and CLOBs, and specifically on O ...
|
 |
|
|
Read More...
|
|
|
Error Management functions and features for PL/SQL Developers |
|
StevenFeuersteinTW
|
Tuesday, December 04, 2007 8:41 PM
|
|
|
|
Winter is descending on Chicago; we had our first snow (flurries, really) on Thanksgiving Day, and the sun is weak. For many, this is a depressing time – and I mean that the lack of that and cold actually does make people feel depressed. Per ...
|
 |
|
|
Read More...
|
|
|
My Favorite Templates – in one convenient file |
|
StevenFeuersteinTW
|
Wednesday, November 28, 2007 1:24 PM
|
|
|
|
Would you like to increase productivity, improve code quality, and ensure that standards are being followed? Of course you would! And one of the best ways to do that is to rely heavily on Toad's Code Templates (similar functionality exists in SQL Navigator as well).
|
 |
|
|
Read More...
|
|
|
Catching up with me at Oracle OpenWorld |
|
StevenFeuersteinTW
|
Sunday, November 11, 2007 11:13 AM
|
|
|
|
Sorry about the late posting, but if you are interested in attending my presentations, here's the info:
Session ID: S290723
Session Title: Break Your Addiction to ...
|
 |
|
|
Read More...
|
|
|
|
|
|
In what version did Oracle add that feature? |
|
StevenFeuersteinTW
|
Friday, September 14, 2007 11:08 AM
|
|
|
|
I get this question a lot. I am teaching a class and a student asks: "When did Oracle add autonomous transactions?" Or the INDICES of clause. Or – who knows what?
Seeing as I am totally obses ...
|
 |
|
|
Read More...
|
|
|
Quseful #7: Kill those infinite loops! |
|
StevenFeuersteinTW
|
Wednesday, August 29, 2007 12:42 PM
|
|
|
|
I don't know about you, but I sometimes write code that (inadvertently, not on purpose) contains an infinite loop. So I run my program and Toad goes off into never-never land, with Oracle chewing up CPU cycles so intently that it is hard to connect as SYS and kill the session.
...
|
 |
|
|
Read More...
|
|
|
|
Quseful #6: Generate collections of random values |
|
StevenFeuersteinTW
|
Friday, August 17, 2007 9:27 AM
|
|
|
|
You will find in this Quseful a package that will generate/return collections of random values of strings, numbers and dates. It also contains a "self-test" random_verifier procedure that you can run to verify "at a glance" that the values being generated seem
|
 |
|
|
Read More...
|
|
|
Quseful #5: Does that string contain a valid number? |
|
StevenFeuersteinTW
|
Monday, August 06, 2007 2:01 PM
|
|
|
I offer in this Quseful (Quick and Useful) a package that you can use to determine if a string contains a valid integer, number, binary_float or binary_double (note: if you are not running Oracle 10g, you will need to comment out the binary_* versions in this package). It is based on code I wrote about back in 1997 (available
 |
|
|
Read More...
|
|
|
|
Confessions of a Hypocritical Programmer |
|
StevenFeuersteinTW
|
Friday, June 22, 2007 11:19 AM
|
|
|
|
That's me. A hypocritical programmer. And I am here to admit it, to make a confession.
Hypocrisy has got to be one of the most infuriating traits of human beings.
|
 |
|
|
Read More...
|
|
|
|
Feuerstein in Buenos Aires and Magic Tricks |
|
StevenFeuersteinTW
|
Wednesday, May 09, 2007 11:24 AM
|
|
|
|
It is Wednesday, May 09, 2007 and I am sitting in the Admiral's Club at the Buenos Aires airport. I just finished two days in this lovely city. My first day was spent enjoying the chilly, but very sunny afternoon, walking for four hours around the city. It is a busy, busy place with many buses throwing way too much gritty exhaust into the air (hey, ...
|
 |
|
|
Read More...
|
|
|
Greetings from Las Vegas! |
|
StevenFeuersteinTW
|
Thursday, April 19, 2007 9:16 AM
|
|
|
|
I am visiting this, well, very artificial paradise dropped into the middle of a desert, so as to participate in Collaborate 07. It's been an interesting and fun several days. I have a room on the 26th floor of the Mandalay
|
 |
|
|
Read More...
|
|
|
Send a memo to yourself! |
|
StevenFeuersteinTW
|
Thursday, March 29, 2007 9:37 AM
|
|
|
|
I rediscovered the joy of writing to myself a week ago, and I also was reminded of the danger of coding in isolation (that is, working by oneself).
 |
|
|
Read More...
|
|
|
You call this work? |
|
StevenFeuersteinTW
|
Wednesday, March 14, 2007 9:54 AM
|
|
|
|
Some musings about the life of a programmer....
Two weeks ago, we held the second annual Oracle PL/SQL Programming conference (I talked about it in last week's
 |
|
|
Read More...
|
|
|
|
Tracing, Testing, Debugging |
|
StevenFeuersteinTW
|
Friday, February 23, 2007 5:16 PM
|
|
|
|
Test your code! Debug your code! Trace your code! We all hear about how we should or at least could perform these activities with our programs. And all too often the terms and usages seem to blur, and be confused. In reality, these three activities – test, debug, trace – are all quite different in nature and serve different purposes.
This blog entry o ...
|
 |
|
|
Read More...
|
|
|
What's New with Quest Code Tester for Oracle 1.5 |
|
StevenFeuersteinTW
|
Wednesday, February 14, 2007 2:09 PM
|
|
|
|
The Major Enhancements in the 1.5 Release
Of course, we spent lots of time just fixing bugs and making lots of small changes. But there were some very critical "big ticket" enhancements that were requeste ...
|
 |
|
|
Read More...
|
|
|
Here comes Quest Code Tester for Oracle! |
|
StevenFeuersteinTW
|
Wednesday, February 07, 2007 11:26 AM
|
|
|
|
As I write these very words, we are preparing to release the commercial release of Quest Code Tester for Oracle 1.5.
I hope that you have already heard about this new testing tool. If not, I offer a quick intro/overview ...
|
 |
|
|
Read More...
|
|
|
Sharing the wealth (of knowledge and expertise) |
|
StevenFeuersteinTW
|
Wednesday, January 31, 2007 12:07 PM
|
|
|
|
I recently spent two days training a group of about 30 developers and DBAs out east. As with any sizeable collection of technologists, the level of expertise and the years of experience varied greatly (and don't always go hand in hand!).
|
 |
|
|
Read More...
|
|
|
|
An Ode to Toad |
|
StevenFeuersteinTW
|
Tuesday, December 19, 2006 3:47 PM
|
|
|
|
I thought I would take a moment out of my busy Quest Code Tester development efforts (that is, heads-down coding, writing specifications, working with developers in Chicago, Columbus, St. Louis and Russia) to give thanks to Toad.
&l ...
|
 |
|
|
Read More...
|
|
|
Are errors positive or negative? |
|
StevenFeuersteinTW
|
Monday, December 04, 2006 10:30 PM
|
|
|
|
You probably don't give this a second thought, but sometimes the question rears its ugly and bewildering head in the code you are writing – precisely because Oracle itself provides multiple answers to the question, right from inside its own code base. Let's take a closer look.
& ...
|
 |
|
|
Read More...
|
|
|
PL/SQL Breadcrumbs |
|
StevenFeuersteinTW
|
Thursday, November 09, 2006 11:55 AM
|
|
|
|
When an exception is raised, one of the most important pieces of information a programmer would love to get hold of is the line of code that caused the exception to be raised. Before Oracle 10g came long, the only way to get this information was to allow the exception to go unhandled and then view the error stack. The following chain of program calls shows you what I mean.
|
 |
|
|
Read More...
|
|
|
Aw, who cares about testing, anyway? |
|
StevenFeuersteinTW
|
Thursday, November 02, 2006 11:28 AM
|
|
|
|
All those big brain technoids always make such a big deal out of testing. Too many bugs in our software! Bugs cost money! Bugs make us look bad! Test your code before you give it to your users! Test your code before you write your code! Test your code before you learn how to write code! C'mon, I say, give us a break!
< ...
|
 |
|
|
Read More...
|
|
|
Three Tips Most Excellent for PL/SQL Developers |
|
StevenFeuersteinTW
|
Monday, October 30, 2006 4:58 PM
|
|
|
|
Welcome to my Toad World blog! I will offer on this blog a wide variety of tips and incredibly deep and surprising insights on the Oracle PL/SQL language (the object of my obsessive personality for the last 10+ years). I look forward to your responses and critiques. That is: I hope you will engage with these ideas and feel perfectly comfortable with disagreeing with me, offering other, perhaps better, i ...
|
 |
|
|
Read More...
|
|
|
 |
 |
|
 |
|
 |
|
|