SQL中的事务以及批量更新
来源:互联网 发布:淘宝卖什么单体利润大 编辑:程序博客网 时间:2024/06/05 10:02
1、SQL中的事务指的是将一组SQL语句同时提交,举个例子吧:在银行转账的时候,它的执行过程应该是先把钱取出来,然后再把钱存到另一个账号里面去吧,它的SQL执行过程应该是先DELETE,然后再UPDATE吧,如果在UPDATE的时候突然网络出了问题,其结果会是怎样呢?按照单条语句的提交策略则会因此导致钱没存进去,但是却已经取出来啦,这样的话我相信银行早晚会乱套的。但是,我们可以才去事务的方法去解决,即把DELETE与UPDATE捆绑为一个事物,对它们同时进行提交,如果发生错误就对其进行回滚。这样的话,数据就不会因此而乱套啦。但是,默认情况下,数据库连接处于自动提交模式(autocommit mode),所以我们先得关闭这种自动提交模式,看看下面的例子吧:
conn.setAutoCommit(false);
Statement stat = conn.CreateStatement();
然后任意多次的执行executeUpdate方法:
stat.executeUpdate(command1);
stat.executeUpdate(command2);
stat.executeUpdate(command3);
···
执行所有命令之后,调用commit方法:
conn.commit();
如果出现错误,则回滚:
conn.rollback();
当然,我们可以使用保存点(Save point)来更好的控制回滚操作,这样的话只需返回到保存点,而非事务的开头。如:
Savepoint svpt = conn.setSavepoint();
conn.rollback(svpt);
2、批量更新
批量更新与普通更新的区别前者一次性把所有的语句都更行啦,所使用到的语句如下:
①先把所有的SQL都放入addBatch中,如:stat.addBatch(command);//command为SQL语句
你可以把这个语句放到循环中添加。
②在最后通过更新语句一次性更新,如下:
int[] counts = stat.executeBatch();//为所有已提交的命令返回一个记录数的数组
- SQL中的事务以及批量更新
- SQL中的事务以及批量更新
- ibatis 批量更新与事务
- SQL批量更新数据库
- 批量更新sql 语句
- SQL 批量更新语句
- 批量更新 sql
- sql批量更新
- SQL批量更新
- Sql server 批量更新
- 批量更新sql |批量update sql
- 根据条件批量删除sql中的表以及其他内容
- Oracle 事务机制 批量添加,修改,更新
- 使用FMDB事务批量更新数据库
- 使用FMDB事务批量更新数据库
- 使用FMDB事务批量更新数据库
- 使用FMDB事务批量更新数据库
- 浅谈FMDB事务批量更新操作耗时
- 转载mars01-20 XML SAX解析
- 获取 iphone 手机的总内存和可用的内存大小
- Could not parse mapping document from resource Duplicate collection role mapping
- WinForm 界面布局
- 深入了解java虚拟机(JVM),老外的文章翻译而来
- SQL中的事务以及批量更新
- 关于数据挖掘(协同过滤、关联推荐、聚类分类)一些资料
- vim 格式化文本,调整缩进,
- android dp dip px sp的区别
- Bash Shell中的> 、>> 、 1> 、 2> 、 2>>和 < 、 <<
- 替换开机画面:initlogo.rle被
- 前端工程师须要常去的15个设计博客
- JavaScript 密码强度验证
- 通过批处理命令在window上启动与关闭oracle db,weblogic