1

新しい行が追加されるか、既存の行が編集されるたびに、この列にトランザクションの正確な日時が入力されるように、既存のテーブルに新しい列を追加する必要があります。TimeStamp を使用してみましたが、明らかに TimeStamp は Date time とは関係ありません

これは、連続した数値のバイナリ表現にすぎません。行が読み取られてから変更されていないことを確認する場合にのみ有効です。( SQL Server のタイムスタンプ列を日時形式に変換する方法から引用

どんな助けでも大歓迎です

4

3 に答える 3

1

この新しい列に入力/更新するには、トリガーを作成する必要があるようです。以下を参照してください。方法: SQL Server 2008 で変更日の自動更新のトリガーを作成する

于 2013-05-27T12:46:53.847 に答える
0

テーブルに対してトリガーを作成する必要があり、使用できるINSERTトリガーでUPDATE

UPDATE myTable 
SET myColumn = GETDATE()

トリガーは次のようになります

CREATE TRIGGER trigger_updateTimestamp
ON myTable
AFTER INSERT, UPDATE
AS
    UPDATE myTable
    SET myColumn = GETDATE()
    WHERE ID = 'xyz'
于 2013-05-27T12:48:12.950 に答える
0

試す

ALTER TABLE myTable ADD CONSTRAINT [DF_myTable_myColumn] DEFAULT (getdate()) FOR [myColumn]
GO

...そして、編集された日付用の追加の列を用意し、トリガーを使用して更新することをお勧めします

CREATE TRIGGER trigger_updateMyTable
ON myTable
AFTER UPDATE
AS
IF EXISTS (SELECT * FROM INSERTED)
BEGIN
    IF ΝΟΤ EXISTS (SELECT * FROM DELETED)
    BEGIN
        UPDATE myTable 
        SET myEditColumn = GETDATE()
        WHERE ID IN (
            SELECT
                ID
            FROM INSERTED
        )
    END
END
于 2013-05-27T13:09:21.190 に答える