Tuesday, June 19, 2007

Set Tanggal Update secara Otomatis

Kebiasaan aku nih, kalo bikin tabel selalu menambahkan field "dtModified" yang bertipe datetime. Untuk mengisi tanggal update dari suatu record, kita bisa menambahkan trigger sbb :

CREATE TRIGGER [dbo].[trg_MAkun_dtModified] ON [dbo].[MAkun]
FOR UPDATE
AS

if not update( dtModified )
update MAkun
set dtModified = getdate()
from MAkun R, Inserted I
where R.AkunID = I.AkunID

Keterangan : pada contoh diatas, nama tabelnya MAkun, dengan demikian jika ada perubahan nilai pada field apapun ( kecuali field "dtModified") tanpa harus mengisikan nilainya dari program.

Kenapa kok tidak semua field ???

Karena kalau tidak kita filter

if not update( dtModified )

Maka trigger ini akan dijalankan terus menerus oleh SQL Server. Selain itu filter ini juga berguna jika kita ingin merubah field "dtModified"-nya. Trust me, kadang-2 hal itu perlu juga ... :)

No comments: