单表操作是否应当加事务控制?

问题描述

规范中提到,insertupdatedelete都应当加事务控制,那么仅仅对单表进行单步操作时,有必要加事务吗?如果不加事务,会有什么危害?请加实例说明,不胜感激。

解决方案

解决方案二:
对表单进行操作当然不需要添加事务对数据库进行操作就要添加事务了如果不加事务,会有什么危害?请看看这里吧
解决方案三:
不是表单,是单表,看清楚哟。多步操作很容易举例,单表的能举出来吗?
解决方案四:
应该加。例如你对某个表做delete操作,这个操作也许会涉及多条记录,假如不加事务会出现这种情况:其中有一条记录由于有外键引用,不能删除,而之前的部分记录已经成功删除。这样的结果是在业务上就不能保证数据的完整性。update/insert同理。

时间: 2024-10-02 12:59:13

单表操作是否应当加事务控制?的相关文章

Linq To Sql 简单的单表批量删除

      今天在网上看到老赵前辈的扩展LINQ to SQL:使用Lambda Expression批量删除数据,我看完了文章,还没有看源代码,我一般都习惯于在看别人的代码前,思考一下如果我来实现我会如何实现.我想了许久操作表达式树操作二元表达式(BinaryExpression)我是肯定困难的,对于表达式类库的了解不多,用了Reflector反射,结果什么都看不见,也许我的Reflector版本低了,没有更新.我就放弃了这种实现方式,我想有没有其他的方式呢?最终我觉得可以操作生成sql执行同

oracle数据库性能调优技术:深入理解单表执行计划

一.概述 这篇文章是数据库性能调优技术的第二篇.上一篇讲解的索引调优是数据库性能调优技术的基础.这篇讲解的深入理解单表执行计划,是数据库性能调优的有力工具. 查询语句可以有多种可选执行计划,如何选择效率最高的执行计划?达梦数据库.oracle数据库.sql server数据库都是采用基于成本的查询优化,对备选执行计划进行打分,选择大家最小的执行计划进行执行.这些内容,我会在后续的几篇文章中进行详细的描述.在此之前,我们首先需要掌握如何理解数据库执行计划.这篇文章讲解只涉及单表操作的执行计划. 达

java类的问题-java数据结构,线性表操作,C(X)=A(X)+B(X)多项式想加

问题描述 java数据结构,线性表操作,C(X)=A(X)+B(X)多项式想加 C(X)=A(X)+B(X)多项式想加.PolySLinkedList类增加C(X)=A(X)+B(X)多项式想加功能,算法实现不依赖于深拷贝,将A和B两条多项式单链表中的所以结点相加合并到新建的C多项式单链表,不改变A和B多项式单链表

jquery实现的用户注册表单提示操作效果代码分享_jquery

本文实例讲述了jquery实现的用户注册表单提示操作效果.分享给大家供大家参考.具体如下: jQuery实现的用户注册表单上方弹窗提示文字特效源码,是一段不仅可以在输入的表单上方提示注意事项,同时也可以进行输入验证的代码,是一款非常实用的特效代码,值得大家学习. 运行效果图:                               -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分

Oracle数据库入门之DML与事务控制

insert语句 语法:insert into table [(column1, column2...)] values (value1, value2...); 说明:insert语句每次只能向表中插入一条记录.缺省字段名列表时,应为新插入记录中的每个字段显式的设定新值 也可在insert语句中指定赋值字段列表,只为部分字段显式设定新值,其余字段将被缺省赋值为null 举例:insert into dept values(88,'研发部','北京');--此句便是缺省字段名列表的情况 inse

【框架】[Hibernate]多表操作与缓存技术

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 多表操作 关系型数据库具有三种常用关系:一对一关系.一对多关系和多对多关系. 建立了一对多关系的表之间,一方中的表叫"主表",多方中的表叫"子表":两表中相关联的字段,在主表中叫"主键",在子表中称"外键". 一对多关系操作 我们以院系表与学生表为例. 在Hibernate映射中,在院系表中添加一个集合属性,集合

在C#中使用COM+实现事务控制

控制 .NET技术是微软大力推广的下一代平台技术,自从.NET技术架构的正式发布,此项技术也逐渐走向成熟和稳定.按照微软的平台系统占有率,我们不难想象得到,在未来的一两年内.NET技术必定会势如破竹一般的登上主流的技术平台,而一个新的技术平台得以快速发展的最重要的前提是:他不会彻底的摒弃以前的技术,这一点对于.NET技术来说指的就是COM/COM+技术了. 一般来说,在IT技术界以及硬件产业,技术的更新换代速度非常得惊人,而惯例是所有的新技术都会遵循向下兼容的原则,但是.NET技术不仅仅做到了这

ORM中的继承关系映射全解——单表继承体系、一实体一具体表、一实体一扩展表

ORM中的继承关系映射全解--单表继承体系.一实体一具体表.一实体一扩展表.接口映射 本文涉及的内容包括: 1.单表继承体系 2.一实体一具体表 3.一实体一扩展表 4.接口实现映射vs基类继承映射 1.单表继承体系 所谓单表继承体系就是用一张数据库表存储整个继承体系中的所有实体的数据.单表继承体系适合那种继承体系中实体数目相对较少,总记录数相对较少,子类对父类的属性扩展也相对较少的情形. 单表继承体系优点是读/写继承体系中的每个实体的数据,都只需操作一张表,性能较好,并且,新增继承类,或扩展实

jdbctemmple-jdbcTemplate 事务控制 delete ,insert ,数据检核,最后commit 或者回滚

问题描述 jdbcTemplate 事务控制 delete ,insert ,数据检核,最后commit 或者回滚 我的表叫A表, 1.首先delete A表内容,但不提交事务. 我用 string sql="delete from A"; tlJdbcTemplate.execute(sql); 这样会提交事务,我不想现在就提交事务应该怎么处理. 2.delete 操作完后,执行插入语句 string sql="insert into A (id,name) values(