事務

-

很多人不知道對事務不是很瞭解,以下是我爲大家提供的,希望能夠幫到大家微笑

--[事務]
/*
 定義:
  事務(TRANSACTION)是作爲單個邏輯工作單元執行的一系列操作
 
 創建事務語法:
  開始事務:begin transaction            或者 begin tran
  提交事務:commit transaction           或者 commit tran
  回滾(撤銷)事務:rollback transaction 或者 rollback tran
 
 事務結束標誌:
  事務提交或回滾
 
 特性:
  1)原子性(Atomicity):
   事務是一個完整的操作,事務的各元素是不可分割,要麼全部成功的執行,
   要麼全部撤消操作,事務的單元不可能出現只有部分成功的現象
  2)一致性(Consistency):
   事務完成前後,數據必須保持完全一致的狀態
  3)隔離性(Isolation):
   事務是相對獨立的,一個事務對數據進行修改時,其他事務是不能修改的
  4)持久性(Durability):
 
 事務分類:
  顯式事務:明確地 事務開始和結束
  隱式事務:不須要指定開始但是要指定結束,並且在提交或回滾事務後自動啓動新的事務,
      通過set implicit_transactions on將隱式事務設置爲打開
  自動提交:SQL的默認模式
 
 事務隔離級別:
  未提交讀(READ UNCOMMITTED):--最底的隔離級別
   俗稱“髒讀”。
   特點:沒有什麼隔離且能讀取其他事務正在修改尚未提交的數據,即無法確保讀取數據的正確性
  
  已提交讀(READ COMMITTED):--默認的隔離級別
   特點:能夠確保其他事務不能夠讀取當前修改、尚未提交的記錄 
  
  重複讀(REPEATABLE READ):--隔離級別比較高
   特點:確保其他事務不能修改當前事務正在讀取、尚未提交的數據 
  
  可串行化(SERIALIZABLE):--最高的隔離級別
   特點:事務之間完全隔離,按串行化的方式執行的,所以該隔離級別不存在並行化的操作 

 注意:
    1)顯示事務最常用,因爲自動提交事務無法將多條語句作爲一個獨立的邏輯單元來執行
    而隱式事務無法明確控制事務的開始位置
    2)事務的四個特性(屬性)是用戶強制定義的並不是系統定義的
    3)要對事務的每一個操作都進行錯誤監控(即:定義變量才積累錯誤號碼)
 
*/ 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章