從 sysmessages 現(xiàn)有的消息構(gòu)造消息。FORMATMESSAGE 與 RAISERROR 語句的功能相似;但 RAISERROR 立即輸出消息而 FORMATMESSAGE 返回編輯后的信息供進(jìn)一步處理。
FORMATMESSAGE ( msg_number , param_value [ ,...n ] )
msg_number
存儲于 sysmessages 的消息的 ID。如果消息在 sysmessages 中不存在,則返回 NULL。
param_value
消息中使用的一個或多個參數(shù)值。值的順序必須與占位符變量在消息中出現(xiàn)的次序相同。值的最大數(shù)目為 20。
nvarchar
與 RAISERROR 語句相像,F(xiàn)ORMATMESSAGE 用所提供的參數(shù)值替換消息中的占位符變量來編輯消息。有關(guān)錯誤信息中允許使用的占位符和編輯進(jìn)程的更多信息,請參見 RAISERROR。
FORMATMESSAGE 查找用戶當(dāng)前語言的消息。如果消息沒有本地化版本,則使用美國英語版本。
對于本地化的消息,所提供的參數(shù)值必須與美國英語版本中的參數(shù)占位符相對應(yīng)。也就是說,本地化版本的參數(shù) 1 必須對應(yīng)于美國英語版本的參數(shù) 1,參數(shù) 2 必須對應(yīng)于參數(shù) 2,依此類推。
此示例使用假定的存儲于 sysmessages 中的 50001 號消息"The number of rows in %s is %1d."(%s 的行數(shù)為 %1d。)。FORMATMESSAGE 用值 Table1 和 5 替換參數(shù)占位符。結(jié)果字符串"The number of rows in Table1 is 5."存儲于局部變量 @var1。
DECLARE @var1 VARCHAR(100)相關(guān)文章
SELECT @var1 = FORMATMESSAGE(50001, 'Table1', 5)