Larry Steinle

November 3, 2013

Using the Command Pattern to Store Versionable Data

In the article, Create a Persistent Data Structure, we learned the fundamental theories to provide versionable data management within a database. Today’s article moves out of the abstract theory and into a working code sample demonstrating how to create a versionable database using the command pattern.


October 19, 2013

Create a Persistent Data Structure

Occasionally I encounter a business need to track all changes allowing a user to view the data as it currently is stored or as it was stored. Having the ability to view the structure of a system from a previous point of reference is called a historical database or a persistent data structure. In this article we will review various strategies to create a persistent data structure. In the next article I will demonstrate how to create a persistent data structure.

September 21, 2013

Microsoft SQL Server Call Stack: Adding The Missing Oracle Feature

Filed under: Oracle,SQL Server — Larry Steinle @ 9:32 am
Tags: ,

A call stack can be an invaluable tool for any developer’s toolbox. The call stack shows from point-of-entry to the currently executing procedure what methods were called giving helpful hints as to where a problem in the logic hides. While the call stack is readily available to an Oracle object via the DBMS_Utility.Format_Call_Stack method, as of Microsoft SQL Server 2012 there is no such capability. In today’s article I will demonstrate how to make your own DBMS_Utility.Format_Call_Stack method in SQL Server.

August 31, 2013

The Odd Relationship Between Null and Empty String in Oracle PL/SQL

Filed under: Oracle — Larry Steinle @ 10:18 am
Tags: ,

SQL Standards dictate a very unique behavior for null values. You would think these behaviors would be consistent across databases. This article is for you Microsoft SQL developers who’ve been tossed into the Oracle world and are confused by the appalling violation of null behavior.

August 23, 2013

Programmatically Validating Oracle Packages

Filed under: Oracle — Larry Steinle @ 10:06 pm
Tags: , ,

Whenever an Oracle view, function, procedure or package header is modified the object is invalidated and any objects that call the invalidated object become invalid. To avoid errors these objects need to be compiled. The purpose of this article is to demonstrate how to identify the invalid objects compiling them in the correct order so that all objects can be validated in one pass while providing the ability to track which objects fail to validate.


Create a free website or blog at