gpt4 book ai didi

sql-server - 如何从 SQL Server TRY.....CATCH block 获取 error_message

转载 作者:行者123 更新时间:2023-12-02 05:04:02 24 4
gpt4 key购买 nike

BEGIN TRY
BEGIN TRANSACTION
--Lots of T-SQL Code here
COMMIT
END TRY
BEGIN CATCH
ROLLBACK
USE [msdb];
EXEC sp_send_dbmail
@profile_name='Mail Profile',
@recipients='myEmail@mydomain.org',
@subject='Data Error',
@body = SELECT ERROR_MESSAGE();
END CATCH

我在这一行收到以下错误

@body = SELECT ERROR_MESSAGE(); 

Incorrect syntax near the keyword 'SELECT'.

有人知道为什么吗?

最佳答案

您不能直接向存储过程的参数发出 SELECT 语句。做这样的事情:

DECLARE @err_msg AS NVARCHAR(MAX);

SET @err_msg = ERROR_MESSAGE();

EXEC sp_send_dbmail
@profile_name='your Mail Profile here',
@recipients='myEmail@mydomain.org',
@subject='Data Error',
@body=@err_msg

关于sql-server - 如何从 SQL Server TRY.....CATCH block 获取 error_message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com