@@error是什么意思,请举例说明,最好给个实例,谢谢了

解决方案 »

  1.   

    返回错误信息,楼下T-MAC会给出实例
      

  2.   

    返回最后执行的一条Transact-SQL语句的错误代码
      

  3.   

    例如:判断是否出错,可以做回滚操作
    IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
      

  4.   

    表示离@@error最近的一条语句执行是否正确
    正确则返回0
    错误则返回错误编号
      

  5.   

    如果前一个 Transact-SQL 语句执行没有错误,则返回 0。如果前一个语句遇到错误,则返回错误号。如果错误是 sys.messages 目录视图中的错误之一,则 @@ERROR 将包含 sys.messages.message_id 列中表示该错误的值。可以在 sys.messages 中查看与 @@ERROR 错误号相关的文本信息。由于 @@ERROR 在每一条语句执行后被清除并且重置,因此应在语句验证后立即查看它,或将其保存到一个局部变量中以备以后查看。SQL Server 2005 Database Engine 引入 TRY...CATCH 构造来处理错误。TRY...CATCH 构造也支持其他返回的错误信息多于 @@ERROR 的系统函数(ERROR_LINE、ERROR_MESSAGE、ERROR_PROCEDURE、ERROR_SEVERITY 和 ERROR_STATE)。TRY...CATCH 也支持 ERROR_NUMBER 函数,但不限制该函数在语句产生错误后立即在语句中返回错误号。
    ----引用sql server帮助文档
      

  6.   

    A.用 @@ERROR 检测一个特定错误
    IF @@ERROR = 547
        PRINT N'A check constraint violation occurred.';B.用 @@ERROR 有条件地退出一个过程
    IF @@ERROR <> 0 
        BEGIN
            -- Return 99 to the calling program to indicate failure.
            PRINT N'An error occurred deleting the candidate information.';
            RETURN 99;
        ENDD. 与 @@ROWCOUNT 一同使用 @@ERROR
    ---引用sql server帮助文档