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.
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)
Zobacz także