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.

Topic link iconKonwencje składni języka Transact-SQL

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)