2009-03-17 10 views

答えて

1

あなたが本当にきれいになりたい場合は今、あなたは必ずこれらの二つのことを確認したい列

CREATE TRIGGER yourTableInsertTrigger 
    ON yourTable 
    AFTER INSERT 
AS 
BEGIN 
    Update yourTable Set Inserted = getdate() 
    from Inserted 
    Where yourTable.Key = Inserted.Key 
END 
GO 


CREATE TRIGGER yourTableUpdateTrigger 
    ON yourTable 
    AFTER UPDATE AS 
BEGIN 
    Update yourTable Set Updated = getdate() 
    from Updated 
    Where yourTable.Key = Updated.Key 
END 
GO 

を更新するために、更新と挿入トリガを作成してテーブルに

ALTER TABLE yourTable ADD 
    Inserted datetime NULL, 
    Updated datetime NULL 
GO 

を列を追加します。データへの他のアクセスのためのダイレクト・テーブル・アクセスではなく、ビューを使用して列を変更/更新することはできませんでした。また、主キーが一貫性がなく、テーブルがたくさんある場合は、CodeGenerationを使用してSQLを作成することをお勧めします。 MyGenerationはうまくいくでしょう。

0

挿入されたトリガーは廃止されていると思います。挿入された列にnullの代わりにデフォルト値としてgetdate()を追加するだけです。

+0

オリジナルのインサートでのみ動作し、アップデートでは動作しません。 – devstuff

関連する問題