5

プロセスがあり、最初のステップは他のプロセスのステータスを確認することです。他のプロセスが完了したら残りのステップを実行し、そうでない場合はジョブを終了します。

ステータスを調べるテーブルがあり、すべてが完了すると「完了」とマークされます。ステータスが「完了」でない場合にステップ1が失敗するように、最初のステップに何を入れるべきですか?

4

2 に答える 2

4

sql-server に強制的にエラーをスロー (または発生) させる方法はたくさんありますが、SQL-Server 2012 + には 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 に答える