科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道深入理解SQL Server 中的错误处理(2)

深入理解SQL Server 中的错误处理(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

大多数迭代语言编译器都有内置的错误处理程序(例如,TRY…CATCH语句),开发者们在设计代码的时候可以利用它们。

作者:builder.com.cn 来源:builder.com.cn 2007年9月4日

关键字: 错误 SQL Server SQL Server 各版本 数据库

  • 评论
  • 分享微博
  • 分享邮件

执行下面的语句来创建我们在例子将要用到的表格:

CREATE TABLE Transactions
(
      TranID SMALLINT IDENTITY(1,1) PRIMARY KEY,
      EntryDate SMALLDATETIME DEFAULT(GETDATE()),
      ParamValue CHAR(1), 
      ThrowError BIT
)

脚本中的两个字段值是ParamValue和ThrowError。这些字段将与我们要创建的程序中的输入参数相对应,并且我们将在提交事务的逻辑中用到它们。

一旦用来记录事务的表格准备就绪之后,我们就要开始创建程序了。这个程序中将有一个用来简单记录字符值和参量的参数,它将使我们能够指出程序中的错误。运行列表A中的语句可以创建这个程序。

CREATE PROCEDURE usp_TestTransaction

(
@ParamValue CHAR(1), 
@ThrowError BIT = 0

) 

AS

BEGIN
DECLARE @ErrorCode INT

BEGIN TRANSACTION

INSERT INTO Transactions (ParamValue, ThrowError)
VALUES(@ParamValue, @ThrowError)

IF @ThrowError = 1
RAISERROR ('A custom error has been thrown.', 16, 1)


SET @ErrorCode = @@ERROR


IF @ErrorCode <> 0
GOTO ErrorHandler
ELSE
BEGIN
COMMIT TRAN
RETURN(0)
END

ErrorHandler:
BEGIN
ROLLBACK TRANSACTION
RETURN(1)
END

END

GO

列表A
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章