我应该如何在存储过程中指定ERROR返回参数

时间:2016-02-29 06:46:23

标签: sql-server

我有我的存储过程:

CREATE PROCEDURE [dbo].[get_tests]
    @ErrorLine INT OUTPUT,
    @ErrorMessage NVARCHAR(1000) OUTPUT,
    @ErrorProcedure NVARCHAR(100) OUTPUT,
    @ErrorNumber INT OUTPUT
AS
    SET NOCOUNT ON

    //
    BEGIN CATCH
        SET @ErrorLine = ERROR_LINE()
        SET @ErrorMessage = ERROR_MESSAGE()
        SET @ErrorProcedure = ERROR_PROCEDURE()
        SET @ErrorNumber = ERROR_NUMBER()
        RETURN
    END CATCH

有人可以告诉我这是宣告错误信息的好方法吗?任何其他建议或建议将不胜感激

1 个答案:

答案 0 :(得分:1)

处理错误的方法很有必要继续。您还可以查看MSDN: Using TRY...CATCH in Transact-SQL

  
      
  • 如果存储过程不包含自己的TRY ... CATCH构造,则错误会将控制权返回给关联的CATCH块   使用包含EXECUTE语句的TRY块。
  •   
  • 如果存储过程包含TRY ... CATCH构造,则错误将控制转移到存储过程中的CATCH块。当CATCH块代码完成时,控制将在调用
    的EXECUTE语句之后立即传递回语句   存储过程。
  •   

另一种方法是使用/块中的<link href=assets/style.css type=text/css rel=stylesheet /> 语句来选择错误,如:

select