Jac*_*ack 8 sql-server sql-server-job
我有一个进程,第一步是检查其他进程的状态。如果其他过程完成,我想运行其余步骤,如果没有,我想退出工作。
我有一个表格来查看状态,如果全部完成,它将标记为“完成”。那么我应该在第一步中输入什么,以便当状态不是“完成”时,会使步骤 1 失败?
有很多方法可以强制 sql-server 抛出(或引发)错误,但我建议对 SQL-Server 2012 + 使用 THROW 或低于该值的 RAISERROR,因为这是您的实际意图。所以你可以这样做:
IF EXISTS(SELECT * FROM StatusTable WHERE status <> 'done')
BEGIN
;THROW 51000, 'Process Is Not Finished', 1
END
Run Code Online (Sandbox Code Playgroud)