在SQL Server中,一个具有主存储过程,另一个具有多个子过程。
在主控程序中调用子程序时,如果有任何子程序失败,那么我们如何识别它呢?
这个问题问我要接受采访。
答案 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