advantages: better data integrity, better performance, simpler apps, easier maintenance, better control, faster development...
disadvantages: the (trivially small) effort required to declare constraints and stored procs and triggers, and the
political strength to wrest the underlying business rules away from application developers, who seem to want to re-invent the wheel in application code for every single situation (e.g. do a select before every insert, to see if a row exists, so that we don't inadvertently insert a dupe, because heaven forbid the database might issue a unique constraint violation error, the users couldn't handle that...)
and do not be misled by "oh my, what if the constraint or stored proc or trigger is not portable to other platforms? we'd better do this in application code"
that way lies madness and truly gross application code
rudy
http://r937.com/