我有一个进行一些数学计算的过程。当用户单击计算按钮时,会在 UI 上调用此过程。这个proc根据我们可以作为参数传递的条件调用了一些proc。现在我想实现一种方法,当用户单击停止计算按钮时,所有计算都应该停止并回滚。我如何从 sql 端实现它,或者有什么方法可以让我在另一个 proc 的帮助下停止执行 main proc。
谢谢你
我有一个进行一些数学计算的过程。当用户单击计算按钮时,会在 UI 上调用此过程。这个proc根据我们可以作为参数传递的条件调用了一些proc。现在我想实现一种方法,当用户单击停止计算按钮时,所有计算都应该停止并回滚。我如何从 sql 端实现它,或者有什么方法可以让我在另一个 proc 的帮助下停止执行 main proc。
谢谢你
如果您要建立单独的连接来运行计算,则可以使用该KILL
语句终止该会话。
KILL
接受一个参数,在您的特定情况下,该参数是分配给服务器连接的会话 ID。
请注意,这KILL
意味着回滚任何未决事务(在该会话中),这也可能需要一些时间。(时间取决于KILL
发布时待处理的更改数量。)
阅读手册中有关该命令的更多信息。