Jak zapisać wyjście MSSQL PRINT do zmiennej
Na MS SQL 2008 R2 chcę mieć możliwość wychwytywania danych wyjściowych wiadomości do zmiennej. Muszę uruchomić skrypt na wielu bazach danych. Złap wyjście komunikatu (komunikaty z print lub raiserror) i zaloguj go do tabeli. Muszę to zrobić od wewnątrz procedury składowanej.
Dla tego skryptu
<code>Declare @sqlscript nvarchar(500) Set @sqlscript = 'select * from sys.objects raiserror (''My raised error'', 10,1) select * from sys.schemas print ''my print''' EXEC sp_executesql @sqlscript </code>
chciałbym dostać
<code>My raised error my print </code>
lub
<code>(60 row(s) affected) My raised error (21 row(s) affected) my print </code>
Aktualizacja
Zdecydowałem się pójść z sugestią @rs. Logowanie do stołu jest dla mnie najłatwiejszym sposobem. Używając SP do logowania (aby utrzymać kod w czystości), plus mały wyrażeń regularnych do refaktoryzacji wszystkich moich skryptów. Rozwiązanie będzie gotowe na jutro. Wielkie dzięki.