什么是sqlserver中的事务?

2024-10-23 12:11:32

1、按照图中说演示的,我们新建一个 存款表.里面有两个用户. 分别是id,姓名以及对应的余额.select * from 表_存款

什么是sqlserver中的事务?

3、update 表_存款 set 余额=余额-1000 where id =1;update 表_存款 set 余额=余额+1000 where id =2;select * from 表_存款这些sql语句我们都学过.把id1的余额减掉1000.再把id2的余额加上1000.

4、那么新的问题出现了,如果李冬冬又问黄少明借5000块钱呢?结果出现了负数,这是非常离谱的事情.所以我们可以给余额字段设置不得少于0.

什么是sqlserver中的事务?什么是sqlserver中的事务?

7、现在我们再来转账5000试试.==========================================消息 547,级别 16,状态 0,第 1 行UPDATE 语句爵奏笆棚与 CHECK 约束"余额>=0"冲突。该冲突发生于数据库"geek",表"dbo.表_存款", column '余额'。语句已终止。(1 行受影响)==========================================

什么是sqlserver中的事务?

9、这种情况,我们就需要引入一个叫做事务的概念来解决这个问题.事务是什么意思呢?简单来说:就是我要完成好几个事情,这几个事情必须都成功.只要期中有一个事情失败了,那么前面成功的事情都无效.

10、比如第一件糙怍牢莱事情,我要减掉id1卡里面的5000.第二件事情,我要增加id2卡里面的余额为5000.这两件事情通过事务必须都成功,才算有效.如果有一件事情,失败了.就算为无效操作. 全部龉并狙澉恢复到操作之前的数据.最通俗易懂的形容:一手交钱一手交货.要么全成功,要么全失败,决不允许一个失败,一个成功.我们还是恢复到之前的数据.

什么是sqlserver中的事务?

14、发现id1的余额增加了1万.但其实这个事务还没有结束呢.必须回滚或者提交之后才算真正结束.这个数据现在只是在一个地方临时保存着.

什么是sqlserver中的事务?

16、我们在sqlserver中. 用sql语句把这个过程完整的写了一下.首先我声明一个变量.每次执行一次我就累加.如果结果为2就提交事务否则回滚事务.然后查询一下结果,原封不动.那么菀蒯踔观我们再改成2000试试.=====================================begin transactiondeclare @影响行 int;update 表_存款 set 余额=余额-2000 where id=1;set @影响行=(select @@ROWCOUNT);update 表_存款 set 余额=余额+2000 where id=2;set @影响行+=(select @@ROWCOUNT);if(@影响行 = 2)begin commit transaction endelsebegin rollback transaction endselect * from 表_存款;

什么是sqlserver中的事务?

18、事务会涉及到一个共享锁(读)排它锁(增删改)事务的介绍就到这里.详细的话可以查看MSDN看一下事务隔离级别.

猜你喜欢