sqlserver基本介紹 什么是SQLSERVER事務(wù)處理和事務(wù)回滾?
什么是SQLSERVER事務(wù)處理和事務(wù)回滾?--啟動事務(wù)beginntert1--insert插入[選課表]([學(xué)號],[課程代碼])值(“20100021”,“01”)插入[選課表]([學(xué)號],[課
什么是SQLSERVER事務(wù)處理和事務(wù)回滾?
--啟動事務(wù)
beginntert1
--insert
插入[選課表]([學(xué)號],[課程代碼])值(“20100021”,“01”)
插入[選課表]([學(xué)號],[課程代碼])值(“20100021”,“02”)
插入[選課表]([學(xué)號],[課程代碼])值(“20100021”,“03”)
—判斷同一學(xué)號選擇的課程數(shù)是否匹配If(selectcount([學(xué)號])ascnfrom其中[學(xué)號]=“20100021”)>4
begin
—不一致,回滾事務(wù)
rollbacktrant1
end
else
begin
--一致,提交事務(wù)
提交事務(wù)1
end
事務(wù)可以看作是由數(shù)據(jù)庫上的幾個操作組成的一個單元。這些操作要么被完成,要么被取消,以確保數(shù)據(jù)滿足一定的一致性要求。交易的一個典型例子是銀行的轉(zhuǎn)賬操作。賬戶a向賬戶B轉(zhuǎn)賬一定金額,此操作包括兩個步驟:一個是從賬戶a減去一定金額,另一個是將相同金額加到賬戶B。顯然,這兩個步驟要么完成要么取消,否則銀行將蒙受損失。顯然,這個轉(zhuǎn)移操作中的兩個步驟構(gòu)成了一個事務(wù)。R數(shù)據(jù)庫中的事務(wù)還具有以下acid特性。R acid是四個英語單詞的第一個字母。這四個英語單詞是原子性、一致性、孤立性和持久性,分別翻譯成原子性、一致性、孤立性和持久性。SQLServer中有三種事務(wù)類型:隱式事務(wù)、顯式事務(wù)和自動提交事務(wù)。默認(rèn)值為自動提交。R Oracle中沒有SQL Server的事務(wù)類型。默認(rèn)情況下,任何DML語句都會啟動一個事務(wù),直到用戶發(fā)出commit或rollback操作,事務(wù)才會結(jié)束,這類似于sqlserver的隱式事務(wù)模式。