| 語句 | 說明 |
|---|---|
START TRANSACTION / BEGIN [WORK] | 開啟新事務 |
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE] | 提交事務;CHAIN 立即開啟同隔離級別新事務,RELEASE 斷開連線 |
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE] | 回滾事務 |
SET AUTOCOMMIT = {0|1} | 0=手動提交,1=自動提交(預設) |
AUTOCOMMIT=1,Oracle 預設手動提交。START TRANSACTION;
INSERT INTO t VALUES (1);
SAVEPOINT sp1;
INSERT INTO t VALUES (2);
SAVEPOINT sp2;
INSERT INTO t VALUES (3);
ROLLBACK TO SAVEPOINT sp1; -- 僅保留第一筆
COMMIT;
RELEASE SAVEPOINT 可刪除不再需要的存檔點。ROLLBACK 僅影響事務型表,非事務型表變更已生效,導致不一致。所有 DDL(CREATE、ALTER、DROP 等)不可回滾,且部分 DDL 會觸發隱式提交,結束當前事務。