Udostępnij za pośrednictwem


FORMATMESSAGE (Transact-SQL)

Konstrukcje wiadomości z istniejącą wiadomość w sys.messages.Funkcje FORMATMESSAGE przypomina, instrukcjaRAISERROR.RAISERROR jednak drukuje wiadomość natychmiast, gdy FORMATMESSAGE zwraca sformatowany komunikat do dalszego przetwarzania.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

FORMATMESSAGE ( msg_number , [ param_value [ ,...n ] ] )

Argumenty

  • msg_number
    Jest to identyfikator wiadomości przechowywane 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 wartością parametru do użytku w wiadomości.Może być więcej niż jedną wartość parametru.Należy określić wartości w kolejności, w jakiej zmienne zastępczy wyświetlany w komunikacie.Maksymalna liczba wartości wynosi 20.

Zwracane typy

nvarchar

Uwagi

Podobnie jak RAISERROR instrukcjaFORMATMESSAGE edytuje wiadomości przez podstawianie wartości parametrów podanych 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 (Transact-SQL).

Ostrzeżenie

FORMATMESSAGE działa tylko w przypadku wiadomości utworzone za pomocą sp_addmessage.

FORMATMESSAGE wyszukuje wiadomości w bieżącym języku użytkownika.Jeśli nie jest zlokalizowana wersja wiadomości, USAAngielska wersja jest używany.

Dla zlokalizowanych komunikatów wartości podanych parametrów musi odpowiadać parametr symboli zastępczych w USAwersjaangielskiej.Oznacza to, że parametr 1 w wersja zlokalizowanej musi odpowiadać parametr 1 w Stanach ZjednoczonychAngielska wersjaparametr 2 musi odpowiadać parametr 2 i tak dalej.

Przykłady

W tym przykładzie użyto hipotetyczny wiadomości przechowywane w 50001 sys.messages , "Liczba wierszy w %s jest % 1 d". FORMATMESSAGE podstawia wartości Tabela1 i 5 dla parametru symboli zastępczych.Wynikowy ciąg"Liczba wierszy w tabeli Tabela1 jest 5" przechowywane w zmiennej lokalnej @var1.

DECLARE @var1 VARCHAR(100)
SELECT @var1 = FORMATMESSAGE(50001, 'Table1', 5)