存储过程返回值以使SQL作业失败

时间:2011-09-02 14:57:50

标签: sql sql-server stored-procedures return-value sql-server-agent

我有一个存储过程,这是SQL作业的第一步。 SP比较2个表中的日期,如果它们相等则SQL作业可以继续,但如果不是,我需要从SP返回值,导致SQL作业在失败时触发它。

最好的方法是什么?它是使用RAISERROR语句还是只返回-99的值?

似乎有这么明显的问题,但直到现在我才从未考虑过它。

2 个答案:

答案 0 :(得分:1)

无论你想要哪种方式。您可以使用try / catch和raiserror。如果需要,这可以允许您将错误写入事件日志。

通常情况下,我只是使用一个返回的IF语句,然后继续使用其余的代码。

我认为这是偏好/要求的问题。要么完成工作。

答案 1 :(得分:0)

在我看来,最佳实践方法是:

  1. 返回位1/0(真/假)的函数
  2. 存储过程输出参数
  3. Proc返回值用于测试proc本身的成功或失败,通常为0表示成功,其他错误号表示错误