Abbiamo una tabella di registro che ha una colonna di messaggi che a volte ha una traccia dello stack delle eccezioni. Ho alcuni criteri che determinano se il messaggio ha questo. Non vogliamo mostrare questi messaggi al cliente ma invece abbiamo un messaggio come:
Si è verificato un errore interno. Contattateci con il codice di riferimento xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
dove xxx etc è una colonna guid nella tabella. Sto scrivendo proc memorizzato in questo modo:
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
è un tipo di dati Guid in SQL Server e non viene convertito in stringa qui. Ho visto del codice su come convertire un Guid in stringa, ma è multi-linea e non credo che funzionerebbe in un'istruzione case. Qualche idea?