事务使用

begin TRANSACTION --开始事务
insert into Bas_Car values('Boxster',70,10,'1004',GETDATE())--没有错
if @@ERROR >0
BEGIN --上一句有错误,下面不管有多少执行语句,都不会执行,直接到tranrollback
goto tranrollback --到最后一个执行语句的tranrollback
end
insert into Bas_Dealer values(111,'111',111)
if @@ERROR>0

BEGIN 
goto tranrollback

end
insert into Bas_CustomerType values(111,'111',111)
if @@ERROR>0
begin
tranrollback: --冒号,标志位
rollback TRANSACTION --回滚所有事务中执行过的命令(撤销所有执行语句)
end
else
begin
COMMIT TRANSACTION --提交事务(只有真正的走到了commit才是真正的更改数据库的数据)
end

猜你喜欢

转载自www.cnblogs.com/wxlhyg/p/9046516.html
今日推荐