SQL控制事务之commit命令用法详解

COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMITROLLBACK命令之后的全部事务都保存到数据库。

    这个命令的语法是:  commit [work];
  
关键字COMMIT是语法中惟一不可缺少的部分,其后是用于终止语句的字符或命令,具体内容取决于不同的实现。关键字WORK是个选项,其惟一作用是让命令对用户更加友好。
  
在下面这个范例里,我们首先从表PRODUCT_TMP里的全部数据开始:
   select * from products_tmp;
   prod_id         prod_desc            cost
   12345        witches costume      29.99
   222       false paraffin teeth       1.1
   13           plastic pumpkin         7.75
   90        lighted lanterns              14.5

   4 rows selected.
  
接下来,删除表里所有低于14.00的产品。
   delete from products_tmp
   where cost<14;
   2 rows deleted.
  
使用一个COMMIT语句把修改保存到数据库,完成这个事务
   COMMIT;
   commit complete.
  
警告:对于数据库的大规模数据加载或撤消来说,应该多使用COMMIT语句;然而,过多的COMMIT语句会让工作需要大量额外时间才能完成。

   记住,全部修改都首先被送到临时回退区域,如果这个临时回退区域没有空间了,不能保存对数据库所做的修改,数据库很可能会挂起,禁止进行进一步的事务操作。
  
注意:在某些实现里,事务不是通过使用COMMIT命令提交的,而是由退出数据库的操作引发提交。

   但是,在某些实现里,比如MySQL,在执行SETTRANSACTION命令之后,在数据库收到COMMITROLLBACK之前,自动提交功能是不会恢复的。




 

posted @ 2011-10-20 11:03  _cc  阅读(25170)  评论(0编辑  收藏  举报