问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在sqlcommend中怎么使用事务

发布网友 发布时间:2022-04-08 08:28

我来回答

1个回答

热心网友 时间:2022-04-08 09:57

SQL命令行使用事务大多和异常处理机制合用,以防事务中的多条语句部分被执行,这样数据的一致性将被破坏,给程序造成很大的漏洞。
begin try | end try语句块中是对可能出现错误的语句进行测试。
begin catch | end catch语句块用来捕获try语句块中出现的错误。
begin tran开始一个新的事务
commit tran语句用来显示的提交事务中的语句
rollback语句可以进行回滚操作,rollback和commit配合,以保证事务中的所有语句要么全部成功,要么全部失败,从而使数据的一致性得到保证。
事务语法:
begin tran -- 开始事务
commit tran -- 提交事务
事务与错误机制语法:
begin try -- 开始try语句块
begin tran -- 开始一个新的事物
-- 事务中的多条语句
commit tran -- 提交事务
end try -- 结束try语句块
begin catch -- 开始catch语句块
rollback -- 事务回滚
end catch -- 结束catch语句块

例:
-- 创建users数据表
create table users
(
id int identity(1, 1) primary key,
userName varchar(20) unique not null,
age int check (age between 1 and 100)
)
go
-- 启用事务和异常处理机制插入信息
begin try
begin tran
insert into users values ('张三', 21)
select '1'
insert into users values ('张三', 20) -- 创建users数据表时,对userName采用了唯一性索引,所以这句insert语句将不会提交成功。
select '2'
commit tran -- 提交事务,由于前面第二个insert语句错误,所以将被catch捕获
select '事务成功'
end try
begin catch
rollback -- 捕获到前面出现的错误,执行rollback回滚操作,第一条执行成功的insert语句插入的数据也将被回滚(注:由insert语句占用的自动编号ID被作废,所以会出现ID不连续的情况)
select '事务失败'
end catch
go

例二:
-- 回滚到某一保存点(还原点)
begin tran tran_name
begin try
insert into users values ('abc', 10)
print 'abc ok'
end try
begin catch
rollback
end catch
save tran t1 -- 设置一个还原点
begin try
insert into users values ('xyz', 11)
print 'xyz ok'
insert into users values ('abc', 31)
print 'xxx ok'
end try
begin catch
rollback tran t1 -- 将事务回滚到还原点
end catch
commit tran
go
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
mrna转录试剂盒 windows7应用程序损坏或丢失怎么办? 联想windows7怎么恢复不小心删除的应用 Win7电脑图标不见了如何恢复解决Win7电脑图标丢失问题的有效方法_百 ... 美女主播软件有哪些 什么软件看美女直播? 什么视频直播软件可以免费看女神直播? 钣金工业设计 钣金灰本段用途 关于刮胡子的相关问题 小天鹅洗衣机XQG55—1016ESL故障码E60代表什么? 伊莱克斯洗衣机故障代码E60是什么故障 小天鹅洗衣机显示E60是什么意思? 西门子洗衣机出现e60不能工作是什么原因? 小天鹅洗衣机TG70-Q1260E(S)的故障代码显示E60,是什么意思? 小天鹅洗衣机显示e60是什么原因 小天鹅滚筒洗衣机E60什么故障 创维滚筒洗衣机显示E60是什么故障 新开的可以开通视频号吗? 电磁脉冲可以穿透装甲吗? 怎样可以制造电磁脉冲简易装置 怎么样制作小电磁脉冲装置啊 如何自制电磁脉冲器? gta5九头蛇战斗机如何解锁批发价? gta5突袭人道实验室电磁脉冲装置不会开飞机能过吗 Gta5人道实验室运送电磁脉冲有一个bug是直接自杀重开直接到飞机哪里的,有大佬会吗,教一下? gta5线上运送脉冲装置过不了啊 gta5线上组野队运送脉冲装置过不了都是坑 突袭人道研究实验室第一关关键密码过关了,却显示待办无法继续,怎么解决? GTAOL突袭人道实验室任务流程。详细点 菜鸟裹裹可以寄电动车吗 SQL中表示事务执行成功的语句是什么 黄芪,丹参,大枣泡酒喝可以吗? 丹参,枸杞,黄芪泡酒好吗 黄芪:枸杞人参丹参山楂,天麻泡酒,有没有副作用 决明子,黄芪,丹参,菟丝子,阳起石,桂枝,补骨脂,女贞子一起泡酒可以吗?什么功效? 丹参,黄精,黄芪可以放在一起泡酒吗? 白人参、丹参、杜仲、寄生、枸杞子、当归、生黄芪、山萸肉这样的配方泡酒有什么作用 生黄芪30克,生地30克,苍术15克,元参30克, 葛根15克,丹参30克. 能泡酒? 黄芪,瓜蒌,半夏,薤白,枳实,丹参,红花可以在一起泡酒吗? 丹参红花鹿茸枸杞黄芪一起泡酒行吗 丹参 黄芪 枸杞 一起泡酒的比例 龙血竭和仲筋草牛漆红花丹参黄芪能在一起泡酒吗? 黄芪,黄精,当归,何首乌,党参,甘草,丹参,菊花,川穹伏苓杜仲泡水喝好不好 qq被投诉会出现什么情况 QQ被人举报有什么反应 事业单位教师岗位笔试考什么 dnf在打安图恩攻坚队在哪打开时怎么看攻坚表 QQ被人举报了会怎么样?怎么解决? dnf安图恩攻坚队列表怎么打开?