Hello, you are not logged in.  Login or sign up
Toad on Twitter Follow Toad Search Toad World Search
Blogger List   

All Recent Blog Entries
 

Johannes Ahrends
Unicode and Toad

Ben Boise
Toad SC Discussions

Kevin Dalton
Benchmark Factory

Steven Feuerstein
Oracle PL/SQL

Devin Gallagher
Toad SC discussions

Stuart Hodgins
JProbe Discussions

  Henrik "Mauritz" Johnson
Toad Tips & Tricks on the "other" Toads
  Mark Kurtz
Toad SC discussions
  Michael Lumbard
Toad SC discussions
Daniel Norwood
Toad for Data Analysts,
Toad Extension for Visual Studio
Debbie Peabody
Toad for Data Analysts
Gary Piper
Toad Reports Manager
John Pocknell
Toad for Oracle, JProbe
Kuljit Sangha
Toad SC discussions
Bert Scalzo Indicates Oracle ACE status
Toad for Oracle, Data Modeling, Benchmarking
Jeff Smith
Toad product family
Richard To
SQL Optimization
Jim Wankowski
DB2 - LUW and z/OS
John Weathington
  Toad World Editor
Toad World issues

  Toad Data Modeler Opens in a new window
Data Modeling
 
  Real Automated Code Testing for Oracle
Quest Code Tester blog

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.

Steven Feuerstein's Blog
 Print  
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 2
StevenFeuersteinTW Tuesday, January 06, 2009 9:30 AM
In part 1 of this series, I reviewed the automated refactoring features in SQL Developer. Now I will check out PL/SQL Developer (version 7.1.5)'s refactoring features.
 
To access these features, I highlight some code in a procedure edit window and then ...
Read More...

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...

Analyzing code coverage with the PL/SQL profiler
StevenFeuersteinTW Wednesday, August 27, 2008 3:55 PM

I have, for the past several years, focused heavily on designing and building an automated code testing tool for PL/SQL: Quest Code Tester for Oracle. One feature that is often requested as a part of code testing is analysis of code coverage, answering questions like:

  • When I run ...
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:

  1. 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...

Functions should return data only through the RETURN clause
StevenFeuersteinTW Monday, January 07, 2008 2:46 PM
You will find below an excerpt from my latest publication: the 2nd edition of Oracle PL/SQL Best Practices.  This edition is a complete rewrite of the 1st edition. I decided that since software is still, for the most part, written by hu ...
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...

An Exercise in Refactoring: Are two files equal?
StevenFeuersteinTW Thursday, October 18, 2007 8:50 AM

All files referenced in document available from: www.oracleplsqlprogramming. ...

Read More...

Don't start with a blank slate!
StevenFeuersteinTW Wednesday, September 26, 2007 10:23 AM
Use templates to accelerate high quality coding.

When you open a new edit window in Toad, it looks like this:

Read More...

Quseful #8: Execute DDL statements from a file
StevenFeuersteinTW Thursday, September 20, 2007 10:37 AM

What's the point?
This utility will make it easy for you to read in the contents of DDL statements (like CREATE OR REPLACE PACKAGE) and execute them within Oracle.

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...

Undocumented But Supported Feature In Oracle11g: Reference Fields Of Records In A FORALL Statement!
StevenFeuersteinTW Wednesday, August 22, 2007 7:41 AM

Kudos to Alex Nuijten for bringing this gem to light, he wrote in his latest AMIS blog entry that:

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...

Quseful #4: Get the value of (almost) any column from any table with dynamic SQL
StevenFeuersteinTW Wednesday, July 11, 2007 11:04 AM

I offer in this Quseful (Quick and Useful) a package that you can use to dynamically retrieve the value of almost any column from any table. I created this package as a "helper" utility for Quest

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...

Quseful #3: Don't put COMMIT; in your code!
StevenFeuersteinTW Tuesday, June 05, 2007 6:16 AM

Qusefuls #1 and #2 were published on Steven Feuerstein's personal blog at feuerthoughts.blogspot.com.

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...

Not such a crazy idea after all!
StevenFeuersteinTW Wednesday, March 07, 2007 11:46 AM

A couple months ago as ODTUG was working out the final details for the Oracle PL/SQL Programming 2007 conference 

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...

Six Simple Steps to High Quality Coding
StevenFeuersteinTW Wednesday, January 24, 2007 8:51 PM

 

Now, for sure, we need really good tools to help get the job done, but we also need to think abo ...

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...

Search Blog Entries
 
Copyright 2010 by Quest Software  | Terms Of Use | Privacy Statement | Contact Us