5

我有一个流程,第一步是检查其他流程的状态。如果其他过程完成,我想运行其余步骤,如果没有,我想退出工作。

我有一张表格可以查看状态,如果全部完成,它将标记为“完成”。那么我应该在第一步中放入什么,以便当状态不是“完成”时,它会使第 1 步失败?

4

2 回答 2

4

有很多方法可以强制 sql-server 抛出(或引发)错误,但我建议在 SQL-Server 2012 + 或 RAISERROR 下方使用 THROW,因为这是您的实际意图。因此,您可以执行以下操作:

IF EXISTS(SELECT * FROM StatusTable WHERE status <> 'done')
BEGIN
    ;THROW 51000, 'Process Is Not Finished', 1
END
于 2016-11-11T16:27:48.730 回答
1

您也可以使用“Select 1/0”这将解析但它会在执行时出错

于 2019-07-17T09:32:27.540 回答