sql server中的 事務

2021-08-28 01:10:45 字數 916 閱讀 8527

begin tran update_data

update tb_顧客表 

set 郵編='1300511' 

where 顧客編號='kh003'

--commit tran update_data 

在儲存過程中使用事務

--判斷pro_pro16儲存過程是否存在,如果存在將它刪除

if exists(select name from sysobjects 

where name='pro_pro16'and type='p')

drop proc pro_pro16  --刪除儲存過程

gocreate procedure pro_pro16

asdeclare @truc int

select @truc=@@trancount

if @truc=0

begin

begin tran p1

insert into tb_userlogin

select 4,username,    password,    tel

from tb_userlogin where userid=2

endelse

begin 

declare @aa int

end 

if (@truc=2)

begin

rollback tran pl

return 25

endif(@truc=0)

commit tran pl

return 0

godeclare @ret int 

set @ret=-1

exec @ret=pro_pro16

select @ret

go--注意:重點在於事務的數量等於0的時候,才開始事務或者提交事務。

SQL SERVER中事務的ACID

acid,指資料庫事務正確執行的四個基本要素的縮寫。包含 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 乙個支援事務 transaction 的資料庫,必需要具有這四種特性,否則在事務過程 transaction process...

SQLserver中事務的使用

一 有時候我們需要同時執行很多個sql操作,但是這些要執行的sql有一部分執行成功了,比如原本應該向幾個相互關聯的表中插入資料,但是只有其中乙個表的資料插入成功了,這時按照正常的邏輯,只要插入其中乙個表失敗了,那麼就應該撤銷已經成功了插入操作,這樣事務就派上用場了。二 事務的特性 1 原子性 事務是...

SQLServer中的事務加鎖策略

乙個事務的例子 tim要給bill轉賬100塊錢 1.檢查tim的賬戶餘額是否大於100塊 2.tim的賬戶減少100塊 3.bill的賬戶增加100塊 這三個操作就是乙個事務,必須打包執行,要麼全部成功,要麼全部不執行,其中任何乙個操作的失敗都會導致所有三個操作 不執行 回滾。原子性 乙個事務必須...