如何知道插入/更新/删除我的表数据的整个存储过程调用层次结构

时间:2014-06-18 06:03:26

标签: sql-server-2008 stored-procedures

我使用sql server 2008 R2,我有一堆存储过程(我不确定每个过程中写入的逻辑究竟是什么)。所有这些程序都直接或间接地与我的表数据交互。

现在我怎么知道哪个表对我的表数据进行了更改(插入/更新/删除)。

例如,存储过程如下

  Proc1
  {
    insert into MyTable()
  }

  Proc2
  {
    update MyTable()
    Proc3()
  }

  Proc3
  {
    delete MyTable()
  }

  DoSomethingProc()
  {
    if (condition1)
      Proc1()
    else if (condition2 and condition3)
      Proc2()
  }

现在,调用DoSomethingProc,插入/更新/删除MyTable数据。因此,当条件1满足时,我希望层次结构为DoSomethingProc-> Proc1,当满足条件2和条件3时,我希望层次结构为DoSomethingProc-> Proc2-> Proc3

这可以在sql server中实现。我通过抛出错误并获取错误堆栈尝试触发器,但无法成功。请帮忙。

0 个答案:

没有答案