国产探花免费观看_亚洲丰满少妇自慰呻吟_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
*/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇仁县| 黎川县| 凭祥市| 江孜县| 华亭县| 建平县| 广平县| 锡林浩特市| 三台县| 剑川县| 仪陇县| 红原县| 全椒县| 兰溪市| 柞水县| 永济市| 榆树市| 东港市| 甘肃省| 泰兴市| 阳高县| 云和县| 景德镇市| 武功县| 沧州市| 建平县| 肇源县| 古田县| 黄平县| 广南县| 武胜县| 勃利县| 藁城市| 云霄县| 拜泉县| 防城港市| 石阡县| 华阴市| 普格县| 东平县| 鹰潭市|