Sql语法高级应用之七:如何在存储过程中使用事务
2024-08-27 04:08:19
普通事物:
USE Wot_Inventory; GO
BEGIN TRANSACTION tr;
DECLARE @error INT;
SET @error = 0;
SELECT * FROM Wot_Inventory.dbo.Logistics;
SET @error = @error + @@ERROR;
SELECT 1 / 0;
SET @error = @error + @@ERROR;
SELECT * FROM Wot_Inventory.dbo.Invoice;
SET @error = @error + @@ERROR;
PRINT 'i have executed!';
SET @error = @error + @@ERROR; PRINT '@@error:' + CAST(@error AS VARCHAR(50));
IF (@error <> 0)
BEGIN
PRINT 'executed failed';
ROLLBACK TRANSACTION tr;
END;
ELSE
BEGIN
PRINT 'executed success';
COMMIT TRANSACTION tr;
END;
结合TRY...CATCH的SQL事物
USE Wot_Inventory; GO
BEGIN TRY
BEGIN TRANSACTION tr; UPDATE dbo.Logistics SET EngFlag = 1 WHERE LogisticCode = '620752867926';
SELECT 1 / 0;
PRINT 'i have executed!';
SELECT * FROM dbo.Logistics; PRINT 'executed success';
COMMIT TRANSACTION tr; END TRY
BEGIN CATCH
PRINT 'executed failed';
ROLLBACK TRANSACTION tr;
END CATCH;
PS:欢迎扫描下方二维码或点击链接,加入QQ群
最新文章
- JavaScript对象详解
- get last dirname/filename in a file path argument
- C# 委托实例(跨窗体操作控件)
- 关于js闭包的误区
- mysql 增删改查基本语句
- Angulajs系列-01-入门
- C开发 中原子性操作 , 除了快什么都不剩下了
- VS2010 创建WindowsService服务
- HDU4535+公式
- fedora19安装jdk
- Android中ListView同过自定义布局并使用SimpleAdapter的方式实现数据的绑定
- linux下的DNS
- [Android学习笔记]Fragment使用
- JPA javax.persistence.TransactionRequiredException
- c++中结构体sort()排序
- STL - 容器 - UnorderedSet(一)
- C# 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
- 【BZOJ4945】【NOI2017】游戏(搜索,2-sat)
- 前端PHP入门-011-可变函数
- zookeeper配置详解
热门文章
- 平衡二叉树Balanced Binary Tree
- C#中发送邮件,包含Html代码 CDO.Message
- Eclipse下配置TinyOS开发环境
- 为什么大神的UI设计那么高级?答案尽在此文…
- Nginx详解(正向代理、反向代理、负载均衡原理)
- 如果程序集是从 Web 上下载的,即使它存储于本地计算机,Windows 也会将其标记为 Web 文件,http://go.microsoft.com/fwlink/?LinkId=179545
- 2018.08.22 hyc的xor/mex(线段树/01trie)
- 2018.08.01 BZOJ4552: [Tjoi2016&Heoi2016]排序(二分+线段树)
- 36 The Benefits of Marriage 结婚的益处
- Linux服务器部署系列之七—OpenLDAP篇