These days, the use of database stored procedures is regarded by
many as a bad practice. Those that dislike stored procedures
tend to regard them as incompatible with the three-tier
architecture: By breaking up an application into tiers,
developers only have to modify or add a specific layer, rather
than have to rewrite the entire application over. There should
be a presentation tier, a business or data access tier, and a
data tier. This is illustrated as follows: Note that the "tiers"
in the figure should actually be labelled "layers", for as the
accompanying Wikipedia article says: The concepts of layer and
tier are often used interchangeably. However, one fairly common
point of view is that there is indeed a difference, and that a
layer is a logical structuring mechanism for the elements that
make up the software solution, while a tier is a physical
structuring mechanism for the system infrastructure. In fact,
those that argue that stored procedures are bad tend to equate
the three logical layers with thre