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塊 這三個操作就是乙個事務,必須打包執行,要麼全部成功,要麼全部不執行,其中任何乙個操作的失敗都會導致所有三個操作 不執行 回滾。原子性 乙個事務必須...