sqlserver 事务简单使用
sqlserver 事务简单使用
今天第一次在工作中用到事务,在找一个下数量被条件卡住的错误时,是先更新一个表中的数据,在检查数量有没有小于0的,有就要报错。追踪到语句后,只用最后一句查询卡住的语句查询发现正常,不存在问题。经理提醒才发现是先更新再检查,只查最后一句是查的没更新之前的,不是报错时的状态。
这时候就用到事务了,想模拟错误时的情况又不想把数据导到临时表里,用完再倒回去,太麻烦。使用事务,更新之前开启事务,更新之后查询表状态,从而找到原因。(上面错误的原因就是更新完之后库存数量变为负值了)
mysql test
start transaction;
select * from test;
update test set name = '1';
select * from test;
rollback;
select * from test;
mssql
begin transaction
select * from test;
update test set name = '1';
select * from test;
rollback transaction
ps:连续三天加班到10点半多,不想说了,浪费我的时间。
reference
Updated: 2020-12-20 11:17
Created: 2017-03-29 01:33