PRINT 'Taking a look at @@ERROR'PRINT @@ERROR
在这些指令中,我们将在屏幕上显示一个字符串,并输出变量@@ERROR的值。因为屏幕上输出的没有错误,所以@@ERROR的值为0。
PRINT 1/0PRINT @@ERROR
在上面这个例子中,我们发生了用0作除数的错误,这样变量@@ERROR中将包括数字8134,它是微软给这种错误分配的错误代号。对于大多数错误处理来说,只有当@@ERROR的值不为0时,即显示有错误发生的时候,你才会关注到它。在记录错误的时候,留意每个错误号码不失为一个好办法,因为这样的话,在调试过程中,调用它们就很方便了。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/sqlserver/)工作中的错误处理
下面是一个关于怎样在存储过程中利用错误处理的例子。示例脚本的目的是要执行一个存储过程,定义一个事务,然后在一个表格中插入一条记录。因为只是为了解释说明的目的,所以我们用以下的方式设计该程序,这样就可以知道到底是提交还是重新运行该项事务。
执行下面的语句来创建我们在例子将要用到的表格:
CREATE TABLE Transactions( TranID SMALLINT IDENTITY(1,1) PRIMARY KEY, EntryDate SMALLDATETIME DEFAULT(GETDATE()), ParamValue CHAR(1), ThrowError BIT)
脚本中的两个字段值是ParamValue和ThrowError。这些字段将与我们要创建的程序中的输入参数相对应,并且我们将在提交事务的逻辑中用到它们。
一旦用来记录事务的表格准备就绪之后, 猜你喜欢