削除されたレコードに日付/タイムスタンプを設定したいのですが、奇妙な結果が得られます。このトリガーが起動すると、日付が1906に設定されます。
GETDATE()
クエリで関数を使用しUPDATE
て、テーブルのプロパティもデフォルト値で使用してみました。テーブルに手動で入力したレコードには問題なく機能しDELETED_RECORDS
ますが、実際の削除によって移動されたレコードには1906年の日付があります。何が起こっているのかわかりません
ALTER TRIGGER [dbo].[Backup_TT_Deleted_Records]
ON [dbo].[tblLLS_TT]
FOR DELETE
AS
BEGIN
INSERT INTO dbo.tblLLS_TT_DELETED_RECORDS
SELECT *
FROM Deleted
UPDATE dbo.tblLLS_TT_DELETED_RECORDS
SET Deleted_DTTM = GETDATE()
WHERE dbo.tblLLS_TT_DELETED_RECORDS.Deleted_DTTM IS NULL
END
また、上記のトリガーを使用しDELETED_RECORDS
て、nullを残してテーブルにレコードを入力しDelete_DTTM
、トリガーを起動するレコードを削除すると、そのレコードは正しく入力されますが、DELETED_RECORDS
テーブルに入って削除されたレコードの日付は再び1906年。また、各レコードごとに1日ずつ日付が増加することにも注目しました。
ここで何が起こっているのか考えてみませんか?
他に実行してほしいテストがあればお知らせください。結果を投稿します。これはおかしいです。ありがとう!