如何在SQL Server中的多个表上链接触发器?

时间:2012-07-22 10:43:04

标签: sql sql-server-2008 tsql triggers

是否可以在多个表上链接触发器?

主要表格:问题

  id     int

辅助表格:答案

  id          int
  id_parent   int

附加表

AnswersVotes

  id_answer   int

AnswersViews

  id_answer   int

如果我从表questions

中删除一行,我需要创建一系列操作

是否可以在表question上创建触发器,这将触发answers中的行,并在表answers上添加另一个触发器,这将触发answersvotes中的行以及answerviews

或者我是否需要在第一个触发器中添加所有删除调用?

1 个答案:

答案 0 :(得分:1)

您可以采用以下两种方式执行此操作 - 使用从所有三个表中删除的问题的触发器,或者通过问题和答案中的单个触发器执行此操作,其中“应答”触发器会被“问题”中的删除触发。如果从问题中删除一个答案,我建议使用单独的触发器更有意义。

或者您可以在关系上设置级联删除。