大家好,非常感謝您的回覆和評論。如何確定字段/列是否受UPDATE語句影響
我有一個表與幾個領域,其中有version
,last_modified
和modified_by
我一個書面方式觸發:1後,每
- 增加
version
/任何更新, - 將
last_modified
設置爲當前時間戳 - 將最近一次更改的用戶的ID設置爲
modified_by
和 - 通過提高信號(在這種情況下),防止程序員忽略/忘記在UPDATE語句中設置
modified_by = userid
。
我該如何做到這一點?
我想如果isnull(NEW.modified_by)
檢查,但後來意識到NEW.modified_by
採用相同的值OLD.modified_by
如果它並沒有受到影響。此外,檢查NEW.modified_by
是否等於OLD.modified_by
並不完全可以,因爲它可能是用戶修改了以前由他自己修改的記錄。
有沒有辦法確定哪個字段哪裏受到UPDATE語句的影響?或者如果某個特定字段(modified_by
)受到影響?
由於這些完全相同的修改(相同的行爲,相同的字段)發生在幾個表,我在做什麼是爲每個表創建一個更新觸發器,但實際發生的事情,是每個觸發器*檢查它是否可以繼續或需要提高信號*然後調用相同的存儲過程(執行實際工作)。注意:我將在編輯中發佈腳本。 – ahpoblete 2011-05-06 19:04:00
我會與你的第二個建議(排序)。我會做的是有一個虛擬列,它將始終爲空。它必須在更新期間設置。我會檢查NEW值是否有效。如果它爲空,我會提高信號。如果它有效,我會將其存儲在適當的字段中。最後,我會將虛擬字段重置爲空。有什麼想法嗎? – ahpoblete 2011-05-06 19:42:24
這正是我想解釋的。我相信這會對你有用。讓我知道結果如何。 – IAmTimCorey 2011-05-06 21:05:51