更新時間:2023-02-07 15:38:06 來源:動力節(jié)點 瀏覽4188次
數(shù)據(jù)庫事務(wù)包含了數(shù)據(jù)庫上的一系列操作,事務(wù)使得數(shù)據(jù)庫從一個一致的狀態(tài)轉(zhuǎn)化到另一個一致的狀態(tài)。通常事務(wù)中的 SQL 會包含 DML 語句,也會包含查詢語句。如果一個事務(wù)中的 SQL 只有查詢語句,這個事務(wù)通常稱為只讀事務(wù)。

事務(wù)在沒有提交之前,可以使用 ROLLBACK 命令回滾事務(wù)
事務(wù)控制語句
基本的事務(wù)控制語句有:
BEGIN:顯式開啟一個事務(wù)。此語句在使用過程中可選:
租戶會話的參數(shù) autocommit 值設(shè)置為 0 時,表示關(guān)閉事務(wù)自動提交功能,不需要顯式發(fā)出 BEGIN 命令來標(biāo)識多個 SQL 組成一個事務(wù)。。
租戶會話的參數(shù) autocommit 值設(shè)置為 1 時,表示開啟事務(wù)自動提交功能,該模式下,每條 SQL 都是一個獨立的事務(wù)。如果要多個 SQL 組成一個事務(wù),可以通過 BEGIN 命令顯式開啟一個事務(wù),同時會禁用事務(wù)自動提交功能,直到執(zhí)行 COMMIT 或 ROLLBACK 語句,才會恢復(fù)到自動提交模式。
SAVEPOINT:可以在事務(wù)過程中標(biāo)記一個"保存點",事務(wù)可以事后選擇回滾到這個保存點上。保存點是可選的,一個事務(wù)過程中也可以設(shè)置多個保存點。
COMMIT:提交并結(jié)束當(dāng)前事務(wù),讓事務(wù)所有修改持久化并生效,清除所有保存點和釋放事務(wù)持有的鎖。
ROLLBACK:回滾整個事務(wù)已做的修改或者只回滾某個保存點之后事務(wù)已做的修改,清除回滾部分包含的所有保存點和釋放事務(wù)持有的鎖。
在 obclient 命令環(huán)境下,可以在 SQL 提示符后發(fā)起事務(wù)控制命令,也可以修改會話級別的 autocommit 參數(shù)來控制事務(wù)是否自動提交。
通過 SET autocommit 設(shè)置變量時,當(dāng)前會話立即生效,斷開鏈接之后被設(shè)置的變量會失效。
通過 SET GLOBAL autocommit 設(shè)置租戶級別的變量時,需要斷開鏈接才生效。
以上就是動力節(jié)點小編介紹的"關(guān)于事務(wù)控制語句大家是怎么理解的呢",希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為您務(wù)。