FORMATMESSAGE (Transact-SQL)
Tworzy wiadomość z istniejącą wiadomość w sys.messages.Podobna do funkcji FORMATMESSAGE, instrukcja RAISERROR.RAISERROR jednak drukuje wiadomość natychmiast, podczas gdy FORMATMESSAGE zwraca sformatowany komunikat do dalszego przetwarzania.
FORMATMESSAGE ( msg_number , [ param_value [ ,...n ] ] )
Argumenty
msg_number
Jest to identyfikator wiadomości przechowywanych w sys.messages.Jeśli msg_number jest <= 13 000, lub jeśli wiadomości nie istnieje w sys.messages, Zwracana jest wartość NULL.param_value
Jest to wartość parametru do użytku w wiadomości.Może być więcej niż jedną wartość parametru.Wartość musi być określona w kolejności, w jakiej wyświetlane są zmienne symbolu zastępczego w wiadomości.Maksymalna liczba wartości wynosi 20.
Zwracane typy
nvarchar
Remarks
Podobnie jak instrukcja RAISERROR FORMATMESSAGE edytuje wiadomości przez podstawianie wartości podanych parametrów dla zmiennych symbolu zastępczego w wiadomości.Aby uzyskać więcej informacji na temat symboli zastępczych, dozwolone w procesie edycji i komunikaty o błędach zobacz RAISERROR (języka Transact-SQL).
Uwaga
FORMATMESSAGE działa tylko w przypadku wiadomości utworzone przy użyciu sp_addmessage.
FORMATMESSAGE wyszukuje wiadomości w bieżącym języku użytkownika.Jeśli ma zlokalizowanych wersja wiadomości, w Stanach ZjednoczonychWersja angielska jest używany.
W przypadku zlokalizowanej wiadomości wartości podanych parametrów musi odpowiadać parametr symboli zastępczych w Stanach ZjednoczonychWersja angielska.Oznacza to parametr 1 w wersja zlokalizowanej musi odpowiadać parametrowi 1 w Stanach ZjednoczonychAngielska wersja parametr 2 musi odpowiadać parametrowi 2 i tak dalej.
Przykłady
W tym przykładzie użyto hipotetyczną wiadomość 50001 przechowywane w sys.messages, „ liczba wierszy w tabeli %s jest % 1 d. „ FORMATMESSAGE podstawia wartości Tabela1 i 5 dla symboli zastępczych parametru. Wynikowy ciąg „ liczba wierszy w tabeli Tabela1 jest 5, „ jest przechowywana w zmiennej lokalnej @var1.
DECLARE @var1 VARCHAR(100)
SELECT @var1 = FORMATMESSAGE(50001, 'Table1', 5)
See Also