我正在開發一個數據庫來跟蹤整個製造過程中對象的移動。目前,我有什麼是目前在這個過程中,此刻,包括它是當前位置(tLiveTable)數據庫觸發一個活動錶的歷史視圖?
tLiveTable一個「活」的表:
PieceID TimeStamp LocationRef
------------------------------------------
30 03/12/2012 09:16:26 8
當PieceID移動到一個新的位置,我們執行更新LocationRef到新位置的UPDATE,並使用GetDate()更新時間戳。
然而,對於其中PieceIDs是在過去歷史的觀點,我還創建了一個跟蹤表(tPieceTracking)
tPieceTracking:
PieceID TimeStamp LocationRef InOut
-----------------------------------------------------
30 03/12/2012 09:11:34 1 1
30 03/12/2012 09:12:13 1 0
30 03/12/2012 09:14:27 2 1
30 03/12/2012 09:15:01 2 0
30 03/12/2012 09:16:26 8 1
的InOut含義:1 =輸入的位置,0 =離開那個位置
我原來的計劃是每次PieceID移動時手動將新記錄插入到tPieceTracking中。
我的問題是,我可以在SQL 2005 SP3中使用數據庫觸發器或其他類型的腳本,以便數據庫可以自動執行此跟蹤(以便我的應用程序不負責這樣做)?
我查看了數據庫觸發器,但遇到的第一個絆腳石是MSSQL顯然不支持BEFORE UPDATE,我認爲這是我需要觸發的。
任何幫助,將不勝感激。