在SQL Server中审核两个不同的表

时间:2010-07-07 08:12:55

标签: sql-server triggers

我有一个包含数据的表单。任何更改或插入,这些数据应该在不同的表中更新,如名称,一个表中的工资和地址,另一个表中的邮件ID。

与上面的例子一样,我在两个表中都有几列。

现在我要审核该表。所以我认为我必须为两个表创建一个视图并为视图设置一个触发器。这是正确的吗?。

而且我还需要知道受影响的列。如何获得唯一受影响的列?

请建议我一个解决方案。

谢谢!

1 个答案:

答案 0 :(得分:1)

有很多方法可以让系统为您处理所有这些工作 - 取决于您使用的SQL Server版本:

如果你真的必须自己处理所有的工作,你需要熟悉触发器 - 在Data Points: Exploring SQL Server Triggers中阅读它们。

在触发器代码中,您有两个“伪表”:

  • Inserted是包含要插入的值(在INSERT触发器中)或新值(在UPDATE触发器中)的表
  • Deleted是包含要删除的值(在DELETE触发器中)或旧值(在UPDATE触发器中)的表

使用这两个伪表,您可以访问您可能需要的所有数据。