1

列を更新する必要がある1つのテーブルにトリガーを作成していdate_modifiedます。以下のコードはこれを行うための最良のアプローチですか?私はこれを正しくやっていますか?

IF EXISTS(SELECT * FROM DELETED) --checking if this is an update, not insert
BEGIN
IF NOT(UPDATE(date_modified)) -- checking if desired column was not updated
BEGIN
    DECLARE @updatedID int
    SELECT @updatedID = ID FROM deleted -- fetching updated record ID
    UPDATE table SET date_modified=GETDATE() WHERE ID=@updatedID -- updating desired column
END
4

1 に答える 1

0

変数を宣言する代わりに、これを使用するだけです。

UPDATE table SET date_modified=GETDATE() WHERE ID in 
(SELECT ID FROM deleted)
于 2012-07-19T11:15:25.413 に答える