У меня есть несколько хранимых процедур, в которых используется инструкция TRY/CATCH, поэтому я запускаю основную программу и, если она генерирует любые ошибки, я их улавливаю. Теперь моя проблема заключается в утверждении улова, у меня есть этот кусок кода:MS SQL 2008 cast null to string
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, прежде чем вставлять его в таблицу Errors?