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

首頁 > 開發 > 綜合 > 正文

MSSQL數據庫嵌套存儲過程的事務控制

2024-07-21 02:44:52
字體:
來源:轉載
供稿:網友
  在MSSQL規范中,支持事務嵌套,不過在嵌套調用子存儲過程時,要回滾事務,需把@@error傳給最外層事務。舉例如下:

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

--主過程
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

/*執行
exec proc_insert
select * from testtb
*/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乌珠穆沁旗| 桐庐县| 麻栗坡县| 江山市| 嫩江县| 古浪县| 聂荣县| 海林市| 吴江市| 汕头市| 龙山县| 南靖县| 桦甸市| 什邡市| 潮安县| 伊川县| 北宁市| 门源| 咸宁市| 江门市| 石嘴山市| 定襄县| 胶州市| 页游| 五台县| 涪陵区| 平昌县| 光山县| 福清市| 侯马市| 武胜县| 洛阳市| 高安市| 教育| 岑溪市| 得荣县| 顺昌县| 淄博市| 肇州县| 本溪市| 宜宾县|