• As this is very old thread.

    But just updating this with the solution that the new keyword THROW introduced in SQL Server 2012 will serve the purpose.

    THROW in CATCH block will return multiple errors encountered in TRY block.

    Check my blog post here: http://sqlwithmanoj.com/2013/01/24/another-reason-to-use-throw-clause-instead-of-raiserror-sql-server-2012/[/url]