sql事務和儲存過程

2022-08-23 02:00:18 字數 1665 閱讀 5237

一、sql事務

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

2.事務的語句

開始事物:begin transaction

提交事物:commit transaction

回滾事務:rollback transaction

3.事務的4個特性

①原子性(atomicity):事務中的所有元素作為乙個整體提交或回滾,是不可折分的,事務是乙個完整的操作。

②一致性(consistemcy):事物完成時,資料必須是一致的,也就是說,和事物開始之前,資料儲存中的資料處於一致狀態。保證資料的無損。

③隔離性(isolation):對資料進行修改的多個事務是彼此隔離的。這表明事務必須是獨立的,不應該以任何方式來影響其他事務。

④永續性(durability):事務完成之後,它對於系統的影響是永久的,該修改即使出現系統故障也將一直保留,真實的修改了資料庫

4.事務的分類.

按事務的啟動與執行方式,可以將事務分為3類:

①顯示事務 :也稱之為使用者定義或使用者指定的事務,即可以顯式地定義啟動和結束的事務。分布式事務屬於顯示事務

②自動提交事務:預設事務管理模式。如果乙個語句成功地完成,則提交該語句;如果遇到錯誤,則回滾該語句。

③隱性事務:當連線以此模式進行操作時,sql將在提交或回滾當前事務後自動啟動新事務。無須描述事務的開始,只需提交或回滾每個事務。它生成連續的事務鏈。

5.例項

begin transaction--開始事務

declare @errorsun int --定義錯誤計數器

set @errorsun=0 --沒錯為0

update a set id=232 where a=1 --事務操作sql語句

set @errorsun=@errorsun+@@error --累計是否有錯

update aa set id=2 where a=1 --事務操作sql語句

set @errorsun=@errorsun+@@error --累計是否有錯

if @errorsun<>0

begin

print '有錯誤,回滾'

rollback transaction--事務回滾語句

endelse

begin

print '成功,提交'

commit transaction--事務提交語句

end6、不能用於事務的操作

建立資料庫 create database

修改資料庫 alter database

刪除資料庫 drop database

恢復資料庫 restore database

載入資料庫 load database

備份日誌檔案 backup log

恢復日誌檔案 restore log

更新統計資料 update statitics

授權操作              grant

複製事務日誌 dump tran

磁碟初始化           disk init

更新使用sp_configure後的系統配置           reconfigure

二、儲存過程

sql事務和儲存過程

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

Sql 儲存過程 事務

alter procedure dbo usp pe delworklogbill id varchar 50 companycode varchar 50 asdeclare errno int set errno 0 begin tran 開始執行事務 delete from opeworklo...

sql儲存過程和事務的應用

在去年,學習資料庫的時候就學過儲存過程了。一直都只知道一些理論,卻不知道如何去使用。時隔一年,終於找到如何使用儲存過程了。在機房收費系統中,有些操作,需要多次執行sql語句,多次執行完成才算是完成這個事件流。但是如果其中有乙個環節出了錯誤,那麼沒出錯誤的那些操作是不是就多餘了。執行儲存過程,就是執行...