在使用oracle數據庫時,有時需要提交事務,有時不需要.具體什么時候需要,什么時候不需要?
DML語句:update,delete,insert等修改表中數據的需要commit
DDL語句:create,drop,alter等修改表結構的,就不需要commit,因為內部隱藏了commit
注意mysql和oracle中使用commit的區別
1.Mysql:
Mysql中默認在進行DML操作時,是隱式提交事務
2.Oracle
Oracle中在進行DML操作時,需要顯示提交事務.
MYSQL 事務處理主要有兩種方法:
- 事務用來管理 insert,update,delete 語句
1、用 BEGIN, ROLLBACK, COMMIT來實現
- BEGIN 開始一個事務
- ROLLBACK 事務回滾
- COMMIT 事務確認
2、直接用 SET 來改變 MySQL 的自動提交模式:
- SET AUTOCOMMIT=0 禁止自動提交
- SET AUTOCOMMIT=1 開啟自動提交
在 MySQL 命令行的默認設置下,事務都是自動提交的,即執行 SQL 語句后就會馬上執行 COMMIT 操作。因此要顯式地開啟一個事務務須使用命令 BEGIN 或 START TRANSACTION,或者執行命令 SET AUTOCOMMIT=0,用來禁止使用當前會話的自動提交。