DECLARE @Message NVARCHAR(MAX)
SET @Message=''
SET @Message=@Message+'测试消息'+ CHAR(13) + CHAR(10)
SET @Message=@Message+CONVERT(NVARCHAR(MAX),GETDATE(),121)+'测试消息开始'+ CHAR(13) + CHAR(10)
BEGIN TRY
SELECT 1/0
END TRY
BEGIN CATCH
SELECT @Message=@Message+'存储过程的名称:'+ERROR_PROCEDURE()
SELECT @Message=@Message+'错误的行号:'+ERROR_PROCEDURE()
SELECT @Message=@Message+'异常消息:'+ERROR_MESSAGE()
SELECT @Message=@Message+'消息的错误号:'+ERROR_NUMBER()
END CATCH
SET @Message=@Message+CONVERT(NVARCHAR(MAX),GETDATE(),121)+'测试消息结束:'+ CHAR(13) + CHAR(10) SELECT @Message
@Message 为什么会没值,怎样才能得到错误消息,存入变量中!
SET @Message=''
SET @Message=@Message+'测试消息'+ CHAR(13) + CHAR(10)
SET @Message=@Message+CONVERT(NVARCHAR(MAX),GETDATE(),121)+'测试消息开始'+ CHAR(13) + CHAR(10)
BEGIN TRY
SELECT 1/0
END TRY
BEGIN CATCH
SELECT @Message=@Message+'存储过程的名称:'+isnull(ERROR_PROCEDURE(),'')
SELECT @Message=@Message+'错误的行号:'+isnull(ERROR_PROCEDURE(),'')
SELECT @Message=@Message+'异常消息:'+ERROR_MESSAGE()
SELECT @Message=@Message+'消息的错误号:'+ltrim(ERROR_NUMBER())
END CATCH
SET @Message=@Message+CONVERT(NVARCHAR(MAX),GETDATE(),121)+'测试消息结束:'+ CHAR(13) + CHAR(10) SELECT @Message
SELECT 1/0
END TRY到这个地方已经结束了
--返回的是NULL
--串联后都为NULL
DECLARE @Message NVARCHAR(MAX)
SET @Message=''
SET @Message=@Message+'测试消息'+ CHAR(13) + CHAR(10)
SET @Message=@Message+CONVERT(NVARCHAR(MAX),GETDATE(),121)+'测试消息开始'+ CHAR(13) + CHAR(10)
BEGIN TRY
BEGIN TRAN
SELECT 1/0
COMMIT TRAN
END TRY
BEGIN CATCH
SELECT @Message=@Message+' 存储过程的名称:'+isnull(ERROR_PROCEDURE(),'')
SELECT @Message=@Message+' 错误的行号:'+isnull(ERROR_PROCEDURE(),'')
SELECT @Message=@Message+' 异常消息:'+ERROR_MESSAGE()
SELECT @Message=@Message+' 消息的错误号:'+ltrim(ERROR_NUMBER())
ROLLBACK
END CATCH
SET @Message=@Message+' '+CONVERT(NVARCHAR(MAX),GETDATE(),121)+'测试消息结束:'+ CHAR(13) + CHAR(10) SELECT @Message