I'm aware that stored procs don't have to include programming logic, but they often do.

Your point about isolation from vendor-specific SQL makes a lot of sense, although I wonder how standardized the details of calling procedures is across databases in DBI. Typically, database portability only really matters to people who are shipping a product that must support multiple dbs. Other people are not willing to spend the time and money that portability requires.

I still don't buy the idea that stored procs can provide protection from schema changes of any significance. If there was a good reason to make the change, it must mean the available data is now different, which means the programs using it need to change. Little things like adding columns don't break SQL -- big things like merging or splitting tables and changing relationships do. Trying to hide changes like that behind stored procs and let programs continue as if nothing happened will surely result in slow and complicated joins and the like.


In reply to Re^5: No stored procedure bashing on my watch! by perrin
in thread Recoding a multi-sql-statement storedProc transaction in a script by punkish

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.