繁体   English   中英

事务从存储过程1开始并在SP3中结束

[英]Transaction starting in stored procedure 1 and ending in SP3

我在一个作业中有几个存储过程,在其中一个过程中,我开始一个事务以删除一些行,如果行大于10,则回滚。 但是,如果没有,我不希望立即提交,因为2存储过程以后我会做类似的事情。 但是,如果在这种情况下count大于10,我希望它一直回滚到我启动事务时的状态(两个存储过程之前)

是否可以在存储过程中启动事务并具有多个回滚并在某个地方的结尾处立即提交,还是必须将所有代码放入1个存储过程中才能做到这一点?

这听起来很容易失败。

无论如何,您将需要在代码中启动事务,然后在使用相同连接的同时执行proc。 一旦所有proc执行完毕,代码便会提交或回滚。

假设这是c# ,请参见以下问题以获取答案: 在事务中调用多个SQL Server存储过程

您可以编写几个存储过程,然后以嵌套方式执行它们。 您可以声明变量以获得结果,并使用if语句为catch块或回滚事务提交或引发错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM