例外スタックトレースが含まれる場合があるメッセージ列を含むログテーブルがあります。メッセージにこれがあるかどうかを判断するいくつかの基準があります。これらのメッセージをお客様に表示するのではなく、次のようなメッセージを表示します。
内部エラーが発生しました。参照コードxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxを添えてお問い合わせください
ここで、xxxなどは表のGUID列です。私はこのようにストアドプロシージャを書いています:
declare @exceptionCriteria nvarchar(50)
select @exceptionCriteria = '%<enter criteria etc>%'
select LogDate,
case
when Message like @exceptionCriteria
then 'Internal Error Occured. Reference Code: ' + str(RequestID)
else Message
end
from UpdateQueue
RequestID
SQL ServerのGuidデータ型であり、ここでは文字列に変換されません。Guidを文字列に変換する方法に関するコードをいくつか見ましたが、それは複数行であり、caseステートメントでは機能しないと思います。何か案は?