查找SQL Server中的调用存储过程

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

例如,假设我在proc3...。我想知道它是否是由proc1proc2...

0stargazer00stargazer0提问于
Mr.Crypto构建人人信用社会。回答于

如果这对你的逻辑很重要,我将使用一个额外的输入参数来指定源。

这也将使数据库更容易移植到另一个平台,因为不依赖于某个模糊的平台相关函数。

不懂老师小白回答于

需要在运行时知道哪种情况会导致错误,还是只需要在调试时知道呢?

你可以用SQLServer分析器如果您只需要在调试/监视期间执行此操作。

否则,在2005,我不相信你有能力堆栈跟踪。

要解决这个问题,可以添加额外的参数到proc 3,@CallingProc或类似的东西中。

或者,可以将TRY CATCH块添加到proc1和proc 2中。

BEGIN TRY
EXEC Proc3
END TRY
BEGIN CATCH
SELECT 'Error Caught'
SELECT
    ERROR_PROCEDURE()
END CATCH

不过,SQLServer 2008确实能够通过过程进行调试。

扫码关注云+社区