2016-07-15 52 views
0

在Sybase中我有一個名爲test and audit table test_a的主表。要更新審計表我創建的觸發器插入,更新和刪除。但問題是,當我做了一個更新查詢與相同的數據存在沒有更改更新觸發器觸發並記錄在審計表中的每個更新正在創建重複。我想停止更新觸發器,當使用更新查詢時沒有更改時觸發。它應該只在插入新行但不存在時觸發。sybase更新觸發器檢查

我的表有

test : ID | NAME | DESC 
test_a : UPDATED_BY|DATE|ID|NAME|DESC 

你可以建議如何停止觸發器觸發時,沒有新的變化在查詢中被更新。

謝謝。

+0

然後刪除'update'觸發器並只使用'insert'觸發器。 –

+0

我知道我們可以替換插入而不是更新,但我希望在更新觸發器中檢查值是新的還是舊的,如果它的新值更新,並且如果舊的值不更新。 – samule

回答

0

您無法停止觸發更新觸發 - UPDATE語句將始終觸發它。但是,您可以比較「已插入」和「已刪除」表的內容,以確定是否確實更新了任何值。如果不是,那麼不要修改審計表。