Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menambahkan kolom "terakhir diubah" dan dibuat dalam tabel SQL Server?

created kolomnya sederhana - cukup DATETIME2(3) kolom dengan batasan default yang disetel saat baris baru dimasukkan:

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

Jadi ketika Anda memasukkan baris ke YourTable dan jangan tentukan nilai untuk Created , itu akan disetel ke tanggal &waktu saat ini.

modified sedikit lebih banyak pekerjaan, karena Anda harus menulis pemicu untuk AFTER UPDATE case dan perbarui - Anda tidak dapat secara deklaratif memberi tahu SQL Server untuk melakukan ini untuk Anda....

Modified DATETIME2(3)

lalu

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

Anda harus bergabung dengan Inserted tabel semu yang berisi semua baris yang diperbarui dengan tabel dasar Anda di kunci utama untuk tabel itu.

Dan Anda harus membuat AFTER UPDATE pemicu untuk setiap tabel yang ingin Anda modified kolom masuk.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Adakah kerugian dengan WITH RECOMPILE untuk proses proc tersimpan SQL Server bulanan?

  2. Apakah mungkin untuk memanggil fungsi yang ditentukan pengguna tanpa nama skema?

  3. Impor SQL Massal dari CSV

  4. Transaksi Terdistribusi pada Server Tertaut antara sql server dan mysql

  5. Apa string koneksi sql yang perlu saya gunakan untuk mengakses localhost\SQLEXPRESS dengan Otentikasi Windows atau Otentikasi SQL?