Dan jika Anda benar-benar membutuhkan stempel waktu - buat pemicu saat menyisipkan dan memperbarui yang memperbarui kolom dengan peta waktu saat ini.
CREATE TRIGGER dbo.trgAfterUpdate ON dbo.YourTable
AFTER INSERT, UPDATE
AS
UPDATE dbo.YourTable
SET last_changed = GETDATE()
FROM Inserted i
Untuk memperbarui satu baris (yang telah diedit atau disisipkan), Anda harus menggunakan
CREATE TRIGGER dbo.trgAfterUpdate ON dbo.YourTable
AFTER INSERT, UPDATE
AS
UPDATE f set LastUpdate=GETDATE()
FROM
dbo.[YourTable] AS f
INNER JOIN inserted
AS i
ON f.rowID = i.rowID;
Ini semua yang Anda butuhkan. GETUTCDATE() jika Anda menginginkannya dalam UTC (yang saya sukai)
SQL Server benar-benar mengetahui baris yang diprosesnya
Ya, coba tebak - karena itulah yang Anda katakan pada SQL Server:Perbarui semua baris dalam tabel.
Set tidak memiliki baris saat ini;) Di situlah masalahnya dimulai.
Satu-satunya cara untuk melakukan itu persis seperti yang Anda inginkan ada di jawaban saya di awal:stempel waktu. Karena kesalahpahaman, saya menambahkan saran:dapatkan buku tentang dasar-dasar SQL.