【发布时间】:2009-09-20 11:26:41
【问题描述】:
我有一些使用 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 在我将其插入错误表之前?
【问题讨论】:
标签: sql-server string casting null