SQL Server 编程对象与 In-Memory OLTP 深度解析
1. 可编程对象中的错误处理
在 SQL Server 编程中,错误处理是确保代码健壮性的关键部分。下面通过具体代码示例来详细说明错误处理的机制。
-- SET XACT_ABORT ON
BEGIN TRY
BEGIN TRAN;
INSERT INTO dbo.Employees(empid, empname, mgrid) VALUES(3, 'Emp3', 1);
/* other activity */
COMMIT TRAN;
PRINT 'Code completed successfully.';
END TRY
BEGIN CATCH
PRINT 'Error ' + CAST(ERROR_NUMBER() AS VARCHAR(10)) + ' found.';
IF (XACT_STATE()) = -1
BEGIN
PRINT 'Transaction is open but uncommittable.';
/* ...investigate data... */
ROLLBACK TRAN; -- can only ROLLBACK
/* ...handle the error... */
END;
ELSE IF (XACT_STATE()) = 1
BEGIN
PRINT 'Transaction is open and committable.';
/* ...handle error... */
超级会员免费看
订阅专栏 解锁全文
3584

被折叠的 条评论
为什么被折叠?



