不要滥用“显式事务”,其实在一般的系统中,需要用到“显式事务”的地方很少,基本上sqlserver默认的事务机制是可以满足的,在大多数情况下默认的就是最优的。
解决方案 »
- 为什么会出现一致性错误?怎么彻底解决?在线等。。。。。。。。。。。。
- 求俩个表的差
- 根据文本框的输入的不同值进行查询
- 为什么SqlServer2005在Win7系统下安装了SP3的补丁后,依然不能使用呢?只有“配置工具”这一项。
- 一个存储过程实现的效果如何用一句sql语句实现
- 如何在WindowsServer2000的服务器上实现双服务器随时存取SQLSERVER2000的同一数据库
- 查询时生成数据为行数的一列 的问题????
- 存储过程中的动态语句
- 一个SQLSERVER2000的问题!!!!!!!
- ADO如何获取存储过程返回码,不是out参数?
- 如何将数据记录中的一些数据去掉!
- sql server中text(n),varchar(n)中的n代表什么意思啊
2、尽可能小
3、立即COMMIT或ROLLBACK
只有在进行相关联数据写入或修改删除时,使用事务。
主要的目的是要保证数据一致性。
要尽量将不相干的处理放在事务之外;
一个事务过程要紧凑,处理完毕立即提交。回复:
有的用户要求必须将“打印”与“事务”关联起来,例如:只有单据成功打印后,前面所做的新增(或更新,删除操作)才能有效。这样使其他用户的操作经常被锁定,令人非常恼火。
什么是“显式事务”,麻烦解释一下,不好意思。
To: caiyunxia(monkey)
有的客户非常刁蛮,对打印单据控制得非常严格,如果单据没有成功打印,前面所做的操作(有数十条SQL更新操作,要同时更新8张数据表)必须由系统自动取消,所以只能使用“事务”。另外,由于同时有30多个用户在同时进行单据的录入操作,每一笔数据录入后,要相关执行其它的许多关联更新操作,并且上一步的单据录入数据必须作为下一步的单据录入依据,一环扣一环,因此用户的并发冲突非常严重,经常发生数据锁定,速度也极慢。
显式事务可以显式地在其中定义事务的启动和结束。在 Microsoft® SQL Server™ 的早期版本中,显式事务也称为用户定义或用户指定的事务。DB-Library 应用程序和 Transact-SQL 脚本使用 BEGIN TRANSACTION、COMMIT TRANSACTION、COMMIT WORK、ROLLBACK TRANSACTION 或 ROLLBACK WORK Transact-SQL 语句定义显式事务。BEGIN TRANSACTION为连接标记显式事务的起始点。COMMIT TRANSACTION 或 COMMIT WORK如果没有遇到错误,可使用该语句成功地结束事务。该事务中的所有数据修改在数据库中都将永久有效。事务占用的资源将被释放。ROLLBACK TRANSACTION 或 ROLLBACK WORK用来清除遇到错误的事务。该事务修改的所有数据都返回到事务开始时的状态。事务占用的资源将被释放。还可以在 OLE DB 中使用显式事务。调用 ITransactionLocal::StartTransaction 方法可启动事务。将 fRetaining 设置为 FALSE,则调用 ITransaction::Commit 或 ITransaction::Abort 方法结束事务时,不会自动启动另一事务。在 ADO 中,对 Connection 对象使用 BeginTrans 方法可启动隐性事务。若要结束该事务,可调用该 Connection 对象的 CommitTrans 或 RollbackTrans 方法。ODBC API 不支持显式事务,只支持自动提交和隐性事务。显式事务模式持续的时间只限于该事务的持续期。当事务结束时,连接将返回到启动显式事务前所处的事务模式,或者是隐性模式,或者是自动提交模式。
这里有老龟奴zyq_123雍亲正当大版主,还有人称辣花摧魔前青楼名妓smoke当镇小版主,肯定能满足您的需要!!!快来吧~~~~~~