十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
當(dāng)然不是了,在Oracle中,只有DML才會(huì)開啟一個(gè)事務(wù)。也就是說Insert,Update,Delete這些都會(huì)開啟一個(gè)事務(wù),并且該事務(wù)在commit/rollback/ddl命令時(shí)會(huì)自動(dòng)結(jié)束。
成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
其他的,像查詢語句Select(不包含F(xiàn)or Update等語句)時(shí),是不會(huì)開啟一個(gè)事務(wù)的。
補(bǔ)充:
首先有一點(diǎn)非常抱歉,上次的回答中誤將DML寫成了DDL,可能這一點(diǎn)兒讓你誤解了。
“當(dāng)insert語句后會(huì)打開事務(wù),然后再來一個(gè)insert語句又會(huì)是一個(gè)新事物是嗎”這種說法是不正確的,第一個(gè)Insert沒有commit或者rollback的情況下,第二個(gè)Insert和第一個(gè)是屬于同一個(gè)事務(wù)的。因?yàn)镮nsert不屬于commit/rollback/ddl命令,而是屬于DML命令。
當(dāng)?shù)谝粋€(gè)Insert結(jié)束后,立即執(zhí)行一個(gè)新建表,刪除表等命令(DDL命令),則會(huì)結(jié)束當(dāng)前事務(wù)。
事務(wù)是為了實(shí)現(xiàn)數(shù)據(jù)的一致性和并發(fā)處理,你對(duì)數(shù)據(jù)進(jìn)行定義和修改時(shí)就會(huì)產(chǎn)生事務(wù)。
例如你執(zhí)行update語句,這時(shí)事務(wù)就開始了,執(zhí)行commit會(huì)提交事務(wù),而rollback會(huì)回滾(撤銷)事務(wù)。如果你什么也不做,那么正常退出程序時(shí)會(huì)自動(dòng)提交,而程序異常中止則會(huì)回滾事務(wù)。
oracle的事務(wù)是以session開始登錄后的第一條DML語句開始的,然后以DDL(drop,create,alter,rename等),TCL的rollback,commit,DCL(grant,revoke)結(jié)束。
當(dāng)然你也可以手動(dòng)設(shè)置事務(wù)屬性,如只讀事務(wù)或者順序事務(wù):
set transaction read only
set transaction isolation level SERIALIZABLE
事務(wù)是為了保證數(shù)據(jù)的完整性而設(shè)置的,在使用事務(wù)時(shí),如果你是使用程序進(jìn)行控制的話,一般都會(huì)自動(dòng)提交事務(wù)的,需要手動(dòng)進(jìn)行事務(wù)的操作的是在進(jìn)行批處理的時(shí)候,為了保證數(shù)據(jù)要么一起成功要么一起失敗,在開始數(shù)據(jù)的插入或者刪除之前,要把事務(wù)的自動(dòng)提交改為false,然后才能執(zhí)行相關(guān)的SQL語句,當(dāng)SQL無異常全部執(zhí)行完以后,再手動(dòng)提交就可以了
無需特意使用
transaction
,當(dāng)執(zhí)行DML 包括update、delete、insert時(shí)會(huì)自動(dòng)啟動(dòng)事務(wù)
dbdao.com
BeginTrans用于開始一個(gè)事物;RollbackTrans用于回滾事務(wù);CommitTrans用于提交所有的事務(wù)處理結(jié)果,即確認(rèn)事務(wù)的處理
BeginTrans和CommitTrans 用于標(biāo)記事務(wù)的開始和結(jié)束,在這兩個(gè)之間的語句,就是作為事務(wù)處理的語句