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

SQL Server テーブルに "最終更新日" および作成済みの列を追加するにはどうすればよいですか?

    created 列は単純です - DATETIME2(3) だけです 新しい行が挿入されたときに設定されるデフォルトの制約を持つ列:

    Created DATETIME2(3) 
       CONSTRAINT DF_YourTable_Created DEFAULT (SYSDATETIME())
    

    したがって、行を YourTable に挿入すると Created の値を指定しないでください 、現在の日付と時刻に設定されます。

    modified AFTER UPDATE のトリガーを記述する必要があるため、もう少し作業が必要です。 大文字と小文字を区別して更新します - SQL Server にこれを行うように宣言的に指示することはできません....

    Modified DATETIME2(3)
    

    そして

    CREATE TRIGGER updateModified
    ON dbo.YourTable
    AFTER UPDATE 
    AS
       UPDATE dbo.YourTable
       SET modified = SYSDATETIME()
       FROM Inserted i
       WHERE dbo.YourTable.PrimaryKey = i.PrimaryKey
    

    Inserted に参加する必要があります すべての行を含む疑似テーブル 主キーのベース テーブルで更新された

    そして、この AFTER UPDATE を作成する必要があります modified にしたい各テーブルのトリガー 列に入れます。



    1. mysqlデータを3列に分割するエラー

    2. 致命的なエラー:未定義の関数mysqli_result()の呼び出し

    3. SQLで複合主キーを参照する方法

    4. Rails + Mavericks上のMySQL-ライブラリがロードされていません:libmysqlclient.18.dylib