我有一个流程,第一步是检查其他流程的状态。如果其他过程完成,我想运行其余步骤,如果没有,我想退出工作。
我有一张表格可以查看状态,如果全部完成,它将标记为“完成”。那么我应该在第一步中放入什么,以便当状态不是“完成”时,它会使第 1 步失败?
我有一个流程,第一步是检查其他流程的状态。如果其他过程完成,我想运行其余步骤,如果没有,我想退出工作。
我有一张表格可以查看状态,如果全部完成,它将标记为“完成”。那么我应该在第一步中放入什么,以便当状态不是“完成”时,它会使第 1 步失败?
有很多方法可以强制 sql-server 抛出(或引发)错误,但我建议在 SQL-Server 2012 + 或 RAISERROR 下方使用 THROW,因为这是您的实际意图。因此,您可以执行以下操作:
IF EXISTS(SELECT * FROM StatusTable WHERE status <> 'done')
BEGIN
;THROW 51000, 'Process Is Not Finished', 1
END
您也可以使用“Select 1/0”这将解析但它会在执行时出错