事物

###################
#事务 
###################
-- 事务是需要在同一个处理单元中执行的一系列更新处理的集合。
-- commit
START TRANSACTION;    
-- 将运动T恤的销售单价降低1000日元    
UPDATE Product       
SET sale_price = sale_price - 1000     
WHERE product_name = '运动T恤';
-- 将T恤衫的销售单价上浮1000日元    
UPDATE Product       
SET sale_price = sale_price + 1000     
WHERE product_name = 'T恤衫'; 
COMMIT;

-- rollback相当于什么也没干  
START TRANSACTION; 
-- 将运动T恤的销售单价降低1000日元   
UPDATE Product       
SET sale_price = sale_price - 1000     
WHERE product_name = '运动T恤';    
-- 将T恤衫的销售单价上浮1000日元    
UPDATE Product       
SET sale_price = sale_price + 1000     
WHERE product_name = 'T恤衫'; 
ROLLBACK;

/*像这样不使用指令而悄悄开始事务的情况下,应该如何区分各个事务呢?
通常 会有如下两种情况。
A	每条SQL语句就是一个事务(自动提交模式)
B	直到用户执行COMMIT或者ROLLBACK为止算作一个事务
通常的DBMS都可以选择其中任意一种模式。
默认使用自动提交模式的 DBMS 有 SQL	Server、PostgreSQL 和 MySQL 等 A。
该模式下的 DML 语句如下 所示,每一条语句都括在事务的开始语句和结束语句之中。
*/
#在自动提交模式时 改变了无法恢复
#不是自动提交时 在commit之前就有救 之后就无力回天了 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值