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

Perlu kolom datetime di SQL Server yang diperbarui secara otomatis saat catatan diubah

SQL Server tidak memiliki cara untuk menentukan nilai default untuk UPDATE .

Jadi, Anda perlu menambahkan kolom dengan nilai default untuk menyisipkan:

ADD modstamp DATETIME2 NULL DEFAULT GETDATE()

Dan tambahkan pemicu di tabel itu:

CREATE TRIGGER tgr_modstamp
ON **TABLENAME**
AFTER UPDATE AS
  UPDATE **TABLENAME**
  SET ModStamp = GETDATE()
  WHERE **ID** IN (SELECT DISTINCT **ID** FROM Inserted)

Dan ya, Anda perlu menentukan kolom identitas untuk setiap pemicu.

PERHATIAN:berhati-hatilah saat menyisipkan kolom pada tabel di mana Anda tidak mengetahui kode aplikasinya. Jika aplikasi Anda memiliki perintah INSERT VALUES tanpa definisi kolom, itu akan menimbulkan kesalahan bahkan dengan nilai default pada kolom baru.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghapus data tabel yang besar dalam SQL tanpa log?

  2. Menggunakan kolom urutan pengurutan dalam tabel database

  3. LOG() Contoh di SQL Server

  4. 3 Cara Mengonversi Integer ke Desimal di SQL Server

  5. Kueri berparameter ..... mengharapkan parameter '@units', yang tidak diberikan