您的位置:首页 > 数据库 > Oracle

oracle需要显式结束事务

2008-04-16 23:42 253 查看
oracle不需要显式的开始事务,事务会在修改数据的第一条语句处开始,但是oracle必须显示结束事务。这个和informix不一样,在informix数据库中,如果不显式声明事务的话,则每条修改的语句都是单独的事务,并马上自动提交。

这是两个数据库在锁和事务实现的机制不一样,在informix中锁是一种很重要的资源,所以事务最好尽快结束;而在oracle中锁的开销很小,甚至是“没有” 开销,所以oracle中系统认为事务应该可以很长。

如果忘记结束事务,不同的环境下会产生不同的缺省行为:如果正常地退出SQL*Plus会话,而没有提交或回滚事务,SQL*Plus就会认为你希望提交前面做的工作,并为你完成提交。另一方面,如果你只是退出一个Pro*C程序,就会发生一个隐式的回滚。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: