Я получил несколько хранимых процедур, которые используют оператор TRY / CATCH, поэтому я выполняю основную программу и, если она генерирует какие-либо ошибки, я их отлавливаю. Теперь моя проблема в выражении catch, у меня есть этот кусок кода:
BEGIN TRY
INSERT INTO ContentTypes (ContentName, ContentPath) VALUES (@ContentName, @ContentPath)
SET @QResult = 0
END TRY
BEGIN CATCH
SET @QResult = 1
INSERT INTO Errors (ErrorNumber, ErrorLine, ErrorProcedure, ErrorSeverity, ErrorState, ErrorParameters)
VALUES (ERROR_NUMBER(), ERROR_LINE(), ERROR_PROCEDURE(), ERROR_SEVERITY(), ERROR_STATE(), 'ContentName:' + @ContentName + ',ContentPath:' + @ContentPath)
RETURN
END CATCH
Это прекрасно работает, пока ContentName не имеет значение NULL, а затем происходит сбой, я забыл, что вам нужно привести значения в строку, прежде чем вы сможете добавить их в столбец nvarchar. Так как мне конвертировать
@ContentName, прежде чем я вставлю его в таблицу ошибок?