国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

MSSQL數(shù)據(jù)庫(kù)嵌套存儲(chǔ)過(guò)程的事務(wù)控制

2019-11-03 08:35:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  在MSSQL規(guī)范中,支持事務(wù)嵌套,不過(guò)在嵌套調(diào)用子存儲(chǔ)過(guò)程時(shí),要回滾事務(wù),需把@@error傳給最外層事務(wù)。舉例如下:

drop table testtb
go
create table testtb
(
id int,name varchar(2)
)
go
--子過(guò)程
drop PRoc proc_insert_sub
go
create proc proc_insert_sub
@errResult int out--返回錯(cuò)誤值
as begin
declare @errsum int
declare @transname varchar(20)
set @transname='subtran'
set @errsum=0
--正確數(shù)據(jù)
    insert testtb values(1,'00')
set @errsum=@errsum+@@error
--錯(cuò)誤數(shù)據(jù)
insert testtb values(2,'222')
set @errsum=@errsum+@@error
--正確數(shù)據(jù)
insert testtb values(1,'11')
set @errsum=@errsum+@@error
set @errResult=@errsum
end
go

--主過(guò)程
drop proc proc_insert
go
create proc proc_insert
as begin
declare @errsum int
declare @errsum1 int

set @errsum=0
set @errsum1=0
  begin tran
  exec proc_insert_sub @errsum1 out
  print @errsum1
  set @errsum=@errsum+@errsum1
   print @errsum
print @@trancount
  if @errsum=0
commit tran
  else
ROLLBACK TRANSACTION   

end
go

/*執(zhí)行
exec proc_insert
select * from testtb
*/

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 通渭县| 衡南县| 龙山县| 澄江县| 长寿区| 娄烦县| 宣恩县| 西藏| 汕头市| 西乌珠穆沁旗| 息烽县| 武强县| 张北县| 高要市| 乐至县| 乃东县| 西乌珠穆沁旗| 友谊县| 丰镇市| 台中县| 柏乡县| 开平市| 绥化市| 屏东县| 资源县| 维西| 临海市| 随州市| 上思县| 禹城市| 吕梁市| 措勤县| 改则县| 绥江县| 赤城县| 大庆市| 娱乐| 准格尔旗| 南华县| 尤溪县| 安远县|