Steven Feuerstein

http://twitter.com/stevefeuerstein

Oracle PL/SQL expert, evangelist, author and trainer

Areas of Expertise:

  • PL/SQL
  • Oracle
  • stored procedures
  • consulting
  • speaking
  • training
  • writing

Steven Feuerstein is considered to be one of the world's leading experts on the Oracle PL/SQL language, having written ten books on PL/SQL, including Oracle PL/SQL Programming and Oracle PL/SQL Best Practices (all published by O'Reilly Media). 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 an Oracle ACE Director and writes regularly for Oracle Magazine, which named him the PL/SQL Developer of the Year in both 2002 and 2006. He is also the first recipient of ODTUG's Lifetime Achievement Award (2009). Steven's latest initiative is the PL/SQL Challenge (http://www.plsqlchallenge.com), a daily quiz for PL/SQL developers; over 1300 programmers play each day. Check it out and join the fun! Steven's online technical cyberhome is located at www.ToadWorld.com/SF. You can also catch up on his latest, mostly non-PLSQL rants at http://feuerthoughts.blogspot.com.

Oracle PL/SQL Programming Oracle PL/SQL Programming
by Steven Feuerstein , Bill Pribyl
Fifth Edition September 2009
Print: $69.99
Ebook: $55.99

Oracle PL/SQL Language Pocket Reference Oracle PL/SQL Language Pocket Reference
by Steven Feuerstein , Bill Pribyl , Chip Dawes
Fourth Edition October 2007
Print: $14.99
Ebook: $11.99

Oracle PL/SQL Best Practices Oracle PL/SQL Best Practices
by Steven Feuerstein
Second Edition October 2007
Print: $29.99
Ebook: $23.99

MySQL Stored Procedure Programming MySQL Stored Procedure Programming
by Guy Harrison , Steven Feuerstein
March 2006
Print: $44.99
Ebook: $35.99

Oracle PL/SQL for DBAs Oracle PL/SQL for DBAs
by Arup Nanda , Steven Feuerstein
October 2005
Print: $44.99
Ebook: $35.99

Oracle PL/SQL Programming Oracle PL/SQL Programming
by Steven Feuerstein , Bill Pribyl
Fourth Edition August 2005
Ebook: $51.99

Oracle PL/SQL Language Pocket Reference Oracle PL/SQL Language Pocket Reference
by Steven Feuerstein , Bill Pribyl , Chip Dawes
Third Edition April 2004
Ebook: $6.99

Oracle PL/SQL Language Pocket Reference Oracle PL/SQL Language Pocket Reference
by Steven Feuerstein , Bill Pribyl , Chip Dawes
Second Edition February 2003
OUT OF PRINT

Oracle PL/SQL Programming Oracle PL/SQL Programming
by Steven Feuerstein
Third Edition September 2002
OUT OF PRINT

Learning Oracle PL/SQL Learning Oracle PL/SQL
by Bill Pribyl
November 2001
Print: $49.99
Ebook: $39.99

Oracle PL/SQL Best Practices Oracle PL/SQL Best Practices
by Steven Feuerstein
April 2001
Ebook: $13.99

Oracle PL/SQL Programming: A Developer's Workbook Oracle PL/SQL Programming: A Developer's Workbook
by Steven Feuerstein , Andrew Odewahn
May 2000
Print: $54.99
Ebook: $43.99

Oracle PL/SQL Programming: Guide to Oracle8i Featu Oracle PL/SQL Programming: Guide to Oracle8i Featu
by Steven Feuerstein
October 1999
OUT OF PRINT

Oracle PL/SQL Language Pocket Reference Oracle PL/SQL Language Pocket Reference
by Bill Pribyl , Steven Feuerstein , Chip Dawes
April 1999
OUT OF PRINT

Oracle PL/SQL Built-ins Pocket Reference Oracle PL/SQL Built-ins Pocket Reference
by Steven Feuerstein , John Beresniewicz , Chip Dawes
October 1998
OUT OF PRINT

Oracle Built-in Packages Oracle Built-in Packages
by Steven Feuerstein , Charles Dye , John Beresniewicz
May 1998
Print: $49.95
Ebook: $39.99

Oracle PL/SQL Programming Oracle PL/SQL Programming
by Steven Feuerstein
Second Edition September 1997
OUT OF PRINT

Advanced Oracle PL/SQL Programming with Packages Advanced Oracle PL/SQL Programming with Packages
by Steven Feuerstein
October 1996
OUT OF PRINT

Oracle PL/SQL Programming Oracle PL/SQL Programming
by Steven Feuerstein
September 1993
OUT OF PRINT

Steven blogs at:
http://feuerthoughts.blogspot.com
http://www.toadworld.com/sf

"Our" Error Codes : -20999 to -20000

February 03 2012

Oracle PL/SQL provides the RAISE_APPLICATION_ERROR built-in procedure (actually defined in the DBMS_STANDARD package) so that we can communicate application-specific error messages back to our users. When you call this procedure, you provide a negative number between -20999 and -20000, as well as your error message. Here's an example of calling RAISE_APPLICATION_ERROR… read more

Ever wanted to debug lobs, object types, XML docs in your IDE?

January 10 2012

"Exotic" datatypes, like large objects, object types, XML documents, etc. are being used by more and more Oracle development teams. And those teams, of course, are using one of many different IDEs for PL/SQL, including Toad, SQL Navigator, PL/SQL Developer, SQL Developer, etc. These IDEs come with source code debuggers, but… read more

Debugging "Exotic" PL/SQL Data Types

January 10 2012

The "new" debugging architecture (Java Debug Wire Protocol-based) that was introduced in Oracle Database 9i Release 2 was a major improvement on the previous one (DBMS_DEBUG), especially because it made it possible to inspect the values of a wider range of data types. However, it's still not possible to inspect… read more

Using CONTINUE in a PL/SQL Block

December 19 2011

Oracle added the CONTINUE statement in Oracle Database 11g to simplify the logic you would have to write when you need to terminate execution of code within the body of a loop. CONTINUE is especially helpful when you are executing nested loops and need to skip the remainder of the… read more

Every VARCHAR2(N) Declaration a Bug!

December 13 2011

This is something I say in my best practice trainings:  Consider every VARCHAR2(N) declaration to be a bug – unless it's a SPOD. What, you might ask, is a SPOD? It's the single point of definition - the one place in your code where the thing you are working with (datatype,… read more

Gingrich the Man - When the bar is set very low

December 02 2011

Here's what Newt Gingrich says about himself:"I don't claim to be the perfect candidate. I just claim to be a lot more conservative than Mitt Romney and a lot more electable than anyone else."Wow, now that's truly inspiring, Newt. Not. Mostly it just tells you how terrible the field of… read more

The Power of Determinism in Oracle Database 11g

November 28 2011

A function is considered to be deterministic   if it returns the same result value whenever it is called with the same values for its IN and IN OUT arguments. Another way to think about deterministic programs is that they have no side-effects. Everything the program depends on and/or affects is… read more

Oh, Frabjous Joy, I Am a Grandfather!

November 07 2011

Our very first ever in the whole wide world grandchild - our granddaughter, Loey Lucille - was born at 9:54 this morning, 30 October 2011. Ah, what a glorious feeling! Everyone is doing well, excellently, and Loey Lucille is clearly thriving from the get-go. Her father, my son, Chris, has… read more

Wanted: Your Ideas for Enhancements to PL/SQL

October 28 2011

On November 9, I will be doing the keynote presentation at the 100th member meeting of the Northern California OUG. The day before that I will visit with the PL/SQL development team at Oracle HQ.It's always great to catch up not just with Bryn Llewellyn, the PL/SQL Product Manager, but also… read more
Steven Feuerstein

"If you are responsible for PL/SQL coding, this book needs to be on your desk. Period. "
--Michael Wehrle, Amazon.com