VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1308|回复: 11

基本的概念搞不懂了,越看越不懂,求人指点

[复制链接]

3

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-1-21 09:40:01 | 显示全部楼层 |阅读模式
begin transaction
.......................
commit


begin transaction
.......................
rollback


同样是事务处理,我现在搞不清楚了,比如我有N条插入或更新的语句,我想如果任何一条执行不成功或是因故中断,则所有的插入或更新操作都被取消,这种情况下,到底是用commit还是rollback,能详细讲一下吗?
我的疑问就是书上讲commit是指所有的语句执行成功了,则提交;那哪果是不成功呢?
rollback,仍是同样的问题,要求在语句中用了rollback是出错了进行回滚,但最终的执行结果是有部份有错呢,是回滚还是提交?
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-2-1 12:00:01 | 显示全部楼层
commit:确认操作生效
rollback:回滚,操作不生效
回复

使用道具 举报

3

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-2-1 14:00:02 | 显示全部楼层
还是晕,
那么比如:
insert into .................
insert into ................
insert into ....................
delete ..................
delete .................
我要执行上面这五条语句,必须保证每一条语句必须成功执行,如果有一条不成功执行,则所有的操作必须取消
要怎么写?
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-1 15:00:01 | 显示全部楼层
支持  能不能说明白点?
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-2-1 16:09:01 | 显示全部楼层
用@@error判断

begin transaction
.......................

if @@error>0
rollback
else
commit
回复

使用道具 举报

0

主题

20

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-2-1 18:18:01 | 显示全部楼层
begin transaction
.......................
commit

全部成功,提交,部分成功,全部取消

begin transaction
.......................
rollback

全部成功,全部取消;部分成功,也全部取消
回复

使用道具 举报

3

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-2-1 19:09:01 | 显示全部楼层
我明白了,
但还有一点,我看有人写的一个程序中用到了事务处理,但他只是:
begin transaction
.......................
commit

难道他可以保证数据操作不出错么?为什么不用判断?
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-2-1 20:00:01 | 显示全部楼层
事务还有别的作用的。。。
回复

使用道具 举报

3

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-2-2 09:54:01 | 显示全部楼层
终于搞明白了,谢谢!
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-29 09:30:01 | 显示全部楼层
还是不太清楚
begin transaction
.......................
rollback

全部成功,全部取消;部分成功,也全部取消

既然都是取消  为什么还要有这个关键字?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表