我正在开发一个与SQL Server数据交互的C应用程序。
我使用存储过程在一个表中插入数据。
在插入数据之后,在几行代码之后,我进行检查(只有在插入数据之后才能这样做),如果检查失败,那么我想回滚我以前的事务。请注意,我不想在此时删除数据。
有没有事务服务(有两个存储过程),这样我可以调用第二个存储过程,回滚前一个事务。
简而言之,我需要的是两个存储过程的配对——第一个SP插入和第二个SP根据我的情况提交/回滚事务。有可能吗?
提前感谢,
我认为最好的办法是创建一个开始和结束事务的主存储过程。
在伪代码中,类似于:
CREATE PROCEDURE MASTERSP
AS
BEGIN
BEGIN TRANSACTION
EXEC FirstSP
EXEC @Result = SecondSP
IF @RESULT= -1
ROLLBACK
ELSE
COMMIT
END
问题内容: 我有一张桌子,我需要在99%的时间内自动分配ID(其他1%似乎使用身份列来排除)。因此,我有一个存储过程来获取以下行中的下一个ID: `` 检查必须检查用户是否手动使用了ID并找到下一个未使用的ID。 当我依次调用它并返回1、2、3时,它可以正常工作。我需要做的是在多个进程同时调用此方法的情况下提供一些锁定。理想情况下,我只需要它专用于围绕此代码锁定last_auto_id表,以便第二
本文向大家介绍sqlserver中存储过程的递归调用示例,包括了sqlserver中存储过程的递归调用示例的使用技巧和注意事项,需要的朋友参考一下 递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。 以阶层为例子说存储过程中递归的调用。 递归 当创建此存储过程时候,会遇见一条报告信息
本文向大家介绍MSSQL事务的存储过程,包括了MSSQL事务的存储过程的使用技巧和注意事项,需要的朋友参考一下 在酒店管理系统开发中,我们会创建房间表和房间类型表(房型表)这两个表,如下图所示: 房型表:RoomType 房间表:Room 首先这两个表的关系:Room是从表,RoomType是主表,两表有主外键关系,RoomType.rTypeId=Room.rType
我能够在下面的SQL Server 2008 R2中创建存储过程,但现在遇到了困难,因为我需要以存储过程将使用事务并检查insert语句中的错误的方式来进行创建。当发现错误时-事务应该回滚,并且不应该提交任何东西。如有任何帮助,我们将不胜感激。 使用Northwind GO CREATE PROC spEmployee@employeeId int作为SELECT*FROM employees W
问题内容: 我的存储过程的基本结构是 MySQL版本: 5.1.61-0ubuntu0.11.10.1-log 当前,如果“查询2”失败,则提交“查询1”的结果。 如果任何查询失败,如何回滚事务? 问题答案: 看看http://dev.mysql.com/doc/refman/5.0/en/declare- handler.html 基本上,您声明错误处理程序,它将调用回滚
我正在使用Spring Framework进行数据库调用。我有一个更新,涉及调用2个存储过程,每个过程都在执行多个操作。 我在每个SP中分别定义了以下事务管理: 如果我单独调用每个SP,这可以正常工作,但我想在一个事务中完成整个操作,因此如果对第一个SP的调用有效,但对第二个SP的调用失败,它会同时回滚两者。 所以很明显,我需要从sps中删除提交并在Spring端处理它。 目前对于Spring,我
问题内容: 我正在尝试创建一个保存对象的视图,但是如果引发某些异常,我想 撤消 该保存。这是我尝试的: 我究竟做错了什么?即使引发异常,它仍然在数据库中。 问题答案: 原子性文档 总而言之,如果视图产生的响应没有错误,将在数据库上执行事务。因为您自己正在捕获异常,所以在Django中,您的视图执行得很好。 如果发现异常,则需要自己处理:控制事务 如果在发生故障时需要产生适当的json响应:
问题内容: 我有一个MYSQL存储过程SP1(),它返回一个结果集。 我想在SP2()内部调用SP1()并遍历SP1()的结果集以执行一些其他工作。 我不想从SP1()中包含我的逻辑,因为这会使SP2()过于复杂。 有什么建议么? 谢谢。 问题答案: 您想做的事情听起来并不是特别好,也许您应该考虑重新设计这两个过程。但是,您可以执行以下操作来快速解决此问题: 使您的sp2 sproc将其中间结果写