使用 @@ERROR
来源:互联网 发布:算法图解 pdf 编辑:程序博客网 时间:2024/06/11 22:40
DECLARE @errnum AS int;
BEGIN TRAN;
SET IDENTITY_INSERT Production.Products ON;
INSERT INTO Production.Products(productid, productname, supplierid, categoryid, unitprice, discontinued)
VALUES(1, N'Test1: Ok categoryid', 1, 1, 18.00, 0);
SET @errnum = @@ERROR;
IF @errnum <> 0 -- Handle the error
BEGIN
PRINT 'Insert into Production.Products failed with error ' + CAST(@errnum AS VARCHAR);
END
复制代码
复制代码
DECLARE @errnum AS int;
BEGIN TRAN;
SET IDENTITY_INSERT Production.Products ON;
-- Insert #1 will fail because of duplicate primary key
INSERT INTO Production.Products(productid, productname, supplierid, categoryid, unitprice, discontinued)
VALUES(1, N'Test1: Ok categoryid', 1, 1, 18.00, 0);
SET @errnum = @@ERROR;
IF @errnum <> 0
BEGIN
IF @@TRANCOUNT > 0 ROLLBACK TRAN;
PRINT 'Insert #1 into Production.Products failed with error ' + CAST(@errnum AS VARCHAR);
END;
-- Insert #2 will succeed
INSERT INTO Production.Products(productid, productname, supplierid, categoryid, unitprice, discontinued)
VALUES(101, N'Test2: Bad categoryid', 1, 1, 18.00, 0);
SET @errnum = @@ERROR;
IF @errnum <> 0
BEGIN
IF @@TRANCOUNT > 0 ROLLBACK TRAN;
PRINT 'Insert #2 into Production.Products failed with error ' + CAST(@errnum AS VARCHAR);
END;
SET IDENTITY_INSERT Production.Products OFF;
IF @@TRANCOUNT > 0 COMMIT TRAN;
-- Remove the inserted row
DELETE FROM Production.Products WHERE productid = 101;
PRINT 'Deleted ' + CAST(@@ROWCOUNT AS VARCHAR) + ' rows';
复制代码
DECLARE @errnum AS int;BEGIN TRAN;SET IDENTITY_INSERT Production.Products ON;INSERT INTO Production.Products(productid, productname, supplierid, categoryid, unitprice, discontinued) VALUES(1, N'Test1: Ok categoryid', 1, 1, 18.00, 0);SET @errnum = @@ERROR; IF @errnum <> 0 -- Handle the error BEGIN PRINT 'Insert into Production.Products failed with error ' + CAST(@errnum AS VARCHAR); END
复制代码
复制代码
DECLARE @errnum AS int;BEGIN TRAN; SET IDENTITY_INSERT Production.Products ON; -- Insert #1 will fail because of duplicate primary key INSERT INTO Production.Products(productid, productname, supplierid, categoryid, unitprice, discontinued) VALUES(1, N'Test1: Ok categoryid', 1, 1, 18.00, 0); SET @errnum = @@ERROR; IF @errnum <> 0 BEGIN IF @@TRANCOUNT > 0 ROLLBACK TRAN; PRINT 'Insert #1 into Production.Products failed with error ' + CAST(@errnum AS VARCHAR); END; -- Insert #2 will succeed INSERT INTO Production.Products(productid, productname, supplierid, categoryid, unitprice, discontinued) VALUES(101, N'Test2: Bad categoryid', 1, 1, 18.00, 0); SET @errnum = @@ERROR; IF @errnum <> 0 BEGIN IF @@TRANCOUNT > 0 ROLLBACK TRAN; PRINT 'Insert #2 into Production.Products failed with error ' + CAST(@errnum AS VARCHAR); END; SET IDENTITY_INSERT Production.Products OFF; IF @@TRANCOUNT > 0 COMMIT TRAN;-- Remove the inserted rowDELETE FROM Production.Products WHERE productid = 101;PRINT 'Deleted ' + CAST(@@ROWCOUNT AS VARCHAR) + ' rows';
复制代码
使用 XACT_ABORT
0 0
- 使用 @@ERROR
- error函数使用
- #error的使用
- pclint使用---error 322
- vivado error 使用笔记
- Go Error 的使用
- 解决使用scrapy中 ERROR:Error downloading
- 如何使用 ASP Error 对象
- @@ERROR 使用 或自定义错误
- Mindjet2012 使用中 runtime error
- CURL使用(error LNK2019)
- dlib使用时Error处理
- VB On Error 使用详解
- CURL使用(error LNK2019)
- #error和#warning使用分析
- 使用map时提示error C2143: syntax error : missing '>' before ';'
- golang error 包 使用 以及error类型原理
- 使用 AvanWaves 遇到 parsing error in line0:syntax error
- 蓝桥杯 N个字符全排列
- [Brief]菜鸟在Windows7(x64)上玩CUDA(Nsight)(一)
- Sicily 1351. Multi-key Sorting
- poj 2348 欧几里得博弈
- 9、10章:CIDR和协议的分层 - 用TCP/IP进行网际互连
- 使用 @@ERROR
- 传输层
- ubuntu add disk
- 炊岩劣衔钒永巢僖汗焕奔椿磕翘易markdowncontent=
- jquery常见面试题
- 内部类
- 一起学CC3200系列教程之跑马灯---库
- 使用 XACT_ABORT
- Codeforces Round #296 (Div. 2) + 今天的收获