sql >> Databáze >  >> RDS >> Sqlserver

Zachycení více chybových zpráv z jednoho příkazu uvnitř TRY CATCH

V závislosti na vašich potřebách a oprávněních účtu, pod kterým spouštíte tento skript, můžete být schopni použít DBCC OUTPUTBUFFER(@@spid) .

Na tuto myšlenku jsem narazil, když jsem četl článek o zpracování chyb Erlanda Sommarskoga . Odkazuje na proceduru spGET_ErrorMessage .

Bohužel to tak docela nebylo pracuji v mém testovacím skriptu na SQL Server 2008, takže si nejsem jistý, zda se formát vyrovnávací paměti změnil, ale s trochou úprav by se tam mohl dostat!

CREATE TABLE #foo
(
c INT DEFAULT(0)
)
ALTER TABLE #foo ALTER COLUMN c VARCHAR(10)

GO
EXEC spGET_LastErrorMessage

Skutečný výkon

Msg 5074, Level 16, State 1, Line 2
The object 'DF__#foo___________c__6DCC4D03' is dependent on column 'c'.

    Msg 4922, Level 16, State 9, Line 2
    ALTER TABLE ALTER COLUMN c failed because one or more objects access this column.

Nárokovaný výstup

errNumber            errState    errLevel    errMessage                                                                               errInstance                                                                                                                     errProcedure    errLine
-------------------- ----------- ----------- ---------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------- --------------- -----------
5074                 1           16          The object 'DF__#foo___________c__6DCC4D03' is dependent on column 'c'.                  MARTINHP                                                                                                                        NULL            2
4922                 9           16          The object 'DF__#foo___________c__6DCC4D03' is dependent on column 'c'.ALTER TABL        MARTINHP 䄀䰀吀䔀刀 䌀伀䰀唀䴀一 挀 昀愀椀氀攀搀 戀攀挀愀甀猀攀 漀渀攀 漀爀 洀漀爀攀 漀戀樀攀挀琀猀 愀挀挀攀猀猀 琀栀椀         NULL            117


  1. Příklady EXTRACT() – MySQL

  2. Jak mohu předat parametr skriptu t-sql?

  3. Potřebujete pomoc s SQL pro hodnocení výsledků vyhledávání

  4. MySQL:V klauzuli FROM nemůžete specifikovat 'úlohy' cílové tabulky pro aktualizaci