2010-07-07 39 views
3

我有一個包含數據的表單。任何更改或插入,這些數據應該更新在兩個不同的表中,如姓名,一張表和地址中的工資,另一張表中的郵件編號。在SQL Server中審計兩個不同的表

就像上面的例子,我在兩個表中都有幾列。

現在我想審覈表。所以我想我必須爲這兩個表創建一個視圖併爲視圖設置一個觸發器。這是對的嗎?。

而且我還需要知道只有受影響的列。如何獲得唯一受影響的列?

請給我一個解決方案。

謝謝!

回答

1

有很多方法可以讓系統處理所有瑣碎的工作適合你 - 這取決於SQL Server版本您正在使用:

如果你真的必須自己處理所有的工作,你需要熟悉觸發器 - 在Data Points: Exploring SQL Server Triggers上閱讀它們。

內,您的觸發代碼,你有兩個「僞表」:

  • Inserted是表保存插入值(在INSERT觸發器)或新的值(一個UPDATE觸發器)
  • Deleted是表保存被刪除的值(在DELETE觸發)或舊值(在UPDATE觸發器)

有了這兩個僞表,你可以訪問你可能需要的所有數據。

+0

什麼是BOL?無論如何與此有關嗎?我從這個鏈接得到這個 http://stackoverflow.com/questions/2684293/change-data-capture-or-change-tracking-same-as-traditional-audit-trail-table – Manoj 2010-07-07 10:11:09

+0

@Manoj:BOL =書聯機 - 在線SQL Server文檔(MSDN Library) – 2010-07-07 11:18:58