sql >> データベース >  >> RDS >> Sqlserver

レコードが変更されたときに自動的に更新されるSQLServerの日時列が必要です

    SQL Serverには、UPDATEのデフォルト値を定義する方法がありません。 。

    したがって、挿入するためのデフォルト値を持つ列を追加する必要があります:

    ADD modstamp DATETIME2 NULL DEFAULT GETDATE()
    

    そして、そのテーブルにトリガーを追加します:

    CREATE TRIGGER tgr_modstamp
    ON **TABLENAME**
    AFTER UPDATE AS
      UPDATE **TABLENAME**
      SET ModStamp = GETDATE()
      WHERE **ID** IN (SELECT DISTINCT **ID** FROM Inserted)
    

    はい、トリガーごとにID列を指定する必要があります。

    注意:アプリケーションのコードがわからないテーブルに列を挿入するときは注意してください。アプリに列定義のないINSERTVALUESコマンドがある場合、新しい列のデフォルト値でもエラーが発生します。



    1. 照合の不正な組み合わせMySQLエラー

    2. マテリアライズド・ビュー-最後のリフレッシュの識別

    3. SQLクエリ

    4. Entity Framework + PostgreSqlでARRAYを使用する方法はありますか?