⏰ Timestamp Güncelleme Trigger’ları#
Tablolarda UPDATE işlemi yapıldığında updated_at alanını otomatik güncelleyen trigger’lar.
Trigger Listesi#
Aşağıdaki tablolarda set_updated_at_trigger adı ile aynı trigger tanımlanmıştır:
users tablosu#
CREATE OR REPLACE TRIGGER "set_updated_at_trigger"
BEFORE UPDATE ON "public"."users"
FOR EACH ROW
EXECUTE FUNCTION "public"."set_updated_at"();classes tablosu#
CREATE OR REPLACE TRIGGER "set_updated_at_trigger"
BEFORE UPDATE ON "public"."classes"
FOR EACH ROW
EXECUTE FUNCTION "public"."set_updated_at"();exams tablosu#
CREATE OR REPLACE TRIGGER "set_updated_at_trigger"
BEFORE UPDATE ON "public"."exams"
FOR EACH ROW
EXECUTE FUNCTION "public"."set_updated_at"();student_papers tablosu#
CREATE OR REPLACE TRIGGER "set_updated_at_trigger"
BEFORE UPDATE ON "public"."student_papers"
FOR EACH ROW
EXECUTE FUNCTION "public"."set_updated_at"();Amaç#
Her tablo satırı güncellendiğinde otomatik olarak updated_at timestamp alanını günceller.
Tetiklenme Koşulu#
- Event: UPDATE
- Timing: BEFORE
- Level: ROW
- Tables: users, classes, exams, student_papers
Çalıştırdığı Fonksiyon#
SQL Kodu#
-- İçeriği buraya ekleyinizKullanım Senaryosu#
- Bir tablo satırı güncellenir (UPDATE)
- Trigger otomatik tetiklenir
updated_atalanıNOW()ile güncellenir- Değişiklik veritabanına kaydedilir
Örnek#
-- Kullanıcı adı güncelleme
UPDATE users
SET name = 'Yeni İsim'
WHERE id = 5;
-- updated_at otomatik olarak güncellenir
-- Manuel olarak updated_at yazmaya gerek yokİlgili Tablolar#
public.userspublic.classespublic.examspublic.student_papers
Notlar#
- ✅ Otomatik timestamp yönetimi
- ✅ Her UPDATE işleminde çalışır
- ✅ Idempotent (birden fazla çalıştırmada güvenli)
- ℹ️ INSERT işlemlerinde
created_atDEFAULT NOW() ile otomatik atanır