HA

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