1、事務的概念
就是為了防止任意一條資料出現異常的情況下沒有執行,則導致兩個賬戶的金額不同步造成錯誤的情況下,所謂的事務就是針對資料庫的一組操作,他可以有一條或者多條語句組成,同乙個事務操作具備同步性。也就是說,
事務中的語句要麼就執行,要麼都不執行。
在資料庫使用事務的時候,我們就是要開啟事務
(1)start transaction 開啟事務
(2)commit 提交事務
(3)rollback 事務的回滾
2、事務的隔離級別
(1)資料庫是多執行緒併發訪問的
(2)read committed 大多數資料庫管理系統的預設隔離級別都是read committed (讀提交),
可以避免髒讀
,但不能避免重複讀和幻讀的情況。
(3)serializable (可串化的讀) 是事務的最高隔離級別
(4)repeatable read ( 可重複讀)這是mysql預設得事務的隔離級別,他可以避免髒讀,因為該級別的隔離是屬於
避免幻讀。
3、
儲存過程與事務案例
create proc proc takemoney cardid1 varchar 20 匯款賬號 pwd int 匯款密碼 takemoney money,匯款金額 cardid2 varchar 20 存款賬號 asset nocount on declare err int set err ...
mysql 儲存過程與事務
最近在工作中要實現乙個功能,在乙個php檔案裡有乙個流水號的變數,每次執行這個php的檔案,這個流水號的變數都得不一樣,我就想到用mysql的自增來解決,我寫了乙個儲存過程,create procedure mqsearch in userid int,in type int,out lshs bi...
儲存過程調儲存過程的事務
直接上 是在包裡寫的儲存過程,要測試的話,要先寫宣告 宣告procedure test1 p retcode in out varchar2,p retinfo in out varchar2 procedure test2 p retcode in out varchar2,p retinfo i...