事務和儲存過程

2021-06-16 09:32:04 字數 1062 閱讀 7341

事務:同生共死

指訪問並可能更新資料庫中各種資料項的乙個程式執行單元(unit)--也就是由多個sql語句組成,必須作為乙個整體執行

這些sql語句作為乙個整體一起向系統提交,要麼都執行、要麼都不執行

語法步驟:

開始事務:begin transaction

事務提交:commit transaction

事務回滾:rollback transaction

事務的acid

特性:事務是作為單個邏輯工作單元執行的一系列操作。乙個邏輯工作單元必須有四個屬性,稱為原子性、一致性、隔離性和永續性

(acid)

屬性,只有這樣才能成為乙個事務。

原子性事務必須是原子工作單元;對於其資料修改,要麼全都執行,要麼全都不執行。

一致性事務在完成時,必須使所有的資料都保持一致狀態。在相關資料庫中,所有規則都必須應用於事務的修改,以保持所有資料的完整性。事務結束時,所有的內部資料結構(如

b 樹索引或雙向鍊錶)都必須是正確的。

隔離由併發事務所作的修改必須與任何其他併發事務所作的修改隔離。事務識別資料時資料所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是第二個事務修改它之後的狀態,事務不會識別中間狀態的資料。這稱為可序列性,因為它能夠重新裝載起始資料,並且重播一系列事務,以使資料結束時的狀態與原始事務執行的狀態相同。

永續性事務完成之後,它對於系統的影響是永久性的。該修改即使出現系統故障也將一直保持

。存數過程

儲存過程---就像資料庫中執行方法(函式)

和c#裡的方法一樣,由儲存過程名/儲存過程引數組成/可以有返回結果。

前面學的if else/while/變數/insert/select 等,都可以在儲存過程中使用

優點:執行速度更快 – 在資料庫中儲存的儲存過程語句都是編譯過的

允許模組化程式設計 – 類似方法的復用

提高系統安全性 – 防止sql注入

減少網路流通量 – 只要傳輸 儲存過程的名稱

系統儲存過程

由系統定義,存放在master資料庫中

名稱以「sp_」開頭或」xp_」開頭,自定義的儲存過程可以以usp_開頭。

儲存過程和事務

在儲存過程中使用事務時非常重要的,使用資料可以保持資料的關聯完整性,在sql server儲存過程中使用事務也很簡單,我們先來簡單了解一下儲存過程和事務,然後用乙個例子來簡單說明他們的用法 儲存過程 事務 以學生註冊資訊為例 create procedure dbo proc sturegister...

事務和儲存過程

create database moneychange gouse moneychange gocreate table bank id int primary key identity 1,1 name varchar 20 not null,money int default 0 check m...

sql事務和儲存過程

一 sql事務 1.什麼是事務 事務是乙個不可分割的工作邏輯單元,在資料庫系統上執行併發操作時事務是做為最小的控制單元來使用的。他包含的所有資料庫操作命令作為乙個整體一起向系提交或撤消,這一組資料庫操作命令要麼都執行,要麼都不執行。2.事務的語句 開始事物 begin transaction 提交事...