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