首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开始事务...提交事务问题

开始事务...提交事务问题
EN

Stack Overflow用户
提问于 2011-12-12 16:51:53
回答 1查看 517关注 0票数 0

我有一个关于使用Transaction的问题。考虑下面的代码:

代码语言:javascript
复制
declare @trans_name varchar(max) = 'Append'
begin tran @trans_name
    insert into SIDB_Module
    (module_name, module_description, modulelevel, parentid, issystem, iscurrent)
    values
    (@module_name, @module_description, @modulelevel, @parentid, @issystem, 1)
    set @moduleid = SCOPE_IDENTITY()
    declare @id int = OBJECT_ID('SIDB_Module')
    exec usp_M_SIDB_TransactionInformation_App_Append
        @moduleid, id, 'append' ,@createdby_userid
if @@ERROR <> 0
rollback tran @trans_name
commit tran @trans_name

事务处理是否仍适用于此..甚至下一个insert查询都在另一个存储过程上??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-12 17:06:22

是的,对usp_M_SIDB_TransactionInformation_App_Append的调用是事务的一部分

注意:您的错误处理是SQL Server 2000中的“旧风格”(使用@@ error ),如果内部进程回滚或提交,将生成错误(错误266)。

有关更多信息,请参阅Nested stored procedures containing TRY CATCH ROLLBACK pattern?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8471813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档