请问Oracle何时开启一个事务啊,谢谢

这里说的,oracle使用隐式事务,不需要定义事务开始,第一个sql语句自动开始一个事务,直到commit/rollback/ddl命令该事务结束。之后的第一个sql语句... 这里说的,oracle使用隐式事务,不需要定义事务开始,第一个sql语句自动开始一个事务,直到commit/rollback/ddl命令该事务结束。之后的第一个sql语句又自动开始一个事务。

难道Oracle中任意sql语句都可以开始事务吗,谢谢
事务在commit/rollback/ddl命令时会自动结束。当insert语句后会打开事务,然后再来一个insert语句又会是一个新事物是吗
展开
 我来答 举报
超尘离梦
推荐于2017-11-23 · TA获得超过1477个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:261万
展开全部
当然不是了,在Oracle中,只有DML才会开启一个事务。也就是说Insert,Update,Delete这些都会开启一个事务,并且该事务在commit/rollback/ddl命令时会自动结束。

其他的,像查询语句Select(不包含For Update等语句)时,是不会开启一个事务的。

补充:
首先有一点非常抱歉,上次的回答中误将DML写成了DDL,可能这一点儿让你误解了。

“当insert语句后会打开事务,然后再来一个insert语句又会是一个新事物是吗”这种说法是不正确的,第一个Insert没有commit或者rollback的情况下,第二个Insert和第一个是属于同一个事务的。因为Insert不属于commit/rollback/ddl命令,而是属于DML命令。
当第一个Insert结束后,立即执行一个新建表,删除表等命令(DDL命令),则会结束当前事务。
dingxi6117
2010-08-04 · TA获得超过1833个赞
知道小有建树答主
回答量:1337
采纳率:0%
帮助的人:1243万
展开全部
差不多这么认为吧,
oracle中的事务是以sql的开始作为事务的开始,
sql的commit/rollback/ddl作为事务的结束.
事务不同于连接,一个连接建立之后,可以有多个事务.
3 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式