如何确定子程序是否失败?

时间:2018-07-07 18:50:24

标签: sql sql-server

在SQL Server中,一个具有主存储过程,另一个具有多个子过程。

在主控程序中调用子程序时,如果有任何子程序失败,那么我们如何识别它呢?

这个问题问我要接受采访。

1 个答案:

答案 0 :(得分:1)

将嵌套过程包含在try catch块中。在下面的示例中,如果在执行SP1时SP2抛出了一些错误,则该错误将被捕获在catch块中,并相应地显示错误消息。有关更多详细信息,请参见文章ERROR_MESSAGE (Transact-SQL)

CREATE PROC [dbo].[SP1]
AS
BEGIN
BEGIN TRY  
    EXEC SP2 
END TRY
BEGIN CATCH
    SELECT ERROR_MESSAGE() AS ErrorMessage; -- capture error
END CATCH
END