请问Oracle何时开启一个事务啊,谢谢
答案:2 悬赏:70 手机版
解决时间 2021-04-04 07:20
- 提问者网友:蓝莓格格巫
- 2021-04-03 08:31
请问Oracle何时开启一个事务啊,谢谢
最佳答案
- 五星知识达人网友:毛毛
- 2021-04-03 09:27
当然不是了,在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命令),则会结束当前事务。
其他的,像查询语句Select(不包含For Update等语句)时,是不会开启一个事务的。
补充:
首先有一点非常抱歉,上次的回答中误将DML写成了DDL,可能这一点儿让你误解了。
“当insert语句后会打开事务,然后再来一个insert语句又会是一个新事物是吗”这种说法是不正确的,第一个Insert没有commit或者rollback的情况下,第二个Insert和第一个是属于同一个事务的。因为Insert不属于commit/rollback/ddl命令,而是属于DML命令。
当第一个Insert结束后,立即执行一个新建表,删除表等命令(DDL命令),则会结束当前事务。
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-04-03 10:12
差不多这么认为吧,
oracle中的事务是以sql的开始作为事务的开始,
sql的commit/rollback/ddl作为事务的结束.
事务不同于连接,一个连接建立之后,可以有多个事务.
oracle中的事务是以sql的开始作为事务的开始,
sql的commit/rollback/ddl作为事务的结束.
事务不同于连接,一个连接建立之后,可以有多个事务.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯