Junior
Trigger nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Trigger, verilən hadisə baş verdikdə avtomatik olaraq icra olunan xüsusi yadda saxlanmış prosedurdur.
Triggerləri işə salan hadisələr adətən aşağıdakılardır:
INSERT: cədvələ yeni sətirlər əlavə etmək.UPDATE: mövcud sətirləri dəyişdirmək.DELETE: sətirləri cədvəldən silmək.
Triggerlər hadisədən əvvəl və sonra müxtəlif vaxtlarda işə sala bilər:
BEFORE: hadisə baş verməzdən əvvəl.AFTER: hadisə baş verdikdən sonra.INSTEAD OF: hadisənin yerinə (tez-tez görünüşlərlə istifadə olunur).
Triggerlərin istifadəsinə nümunələr:
- Məlumatların bütövlüyünü təmin etmək: əlavə və ya yeniləmə zamanı avtomatik yoxlama və ya dəyişiklik.
- Audit: məlumat dəyişiklikləri haqqında məlumatların ayrıca log cədvəlinə qeydiyyatı.
- Məlumatların sinxronizasiyası: əlaqəli cədvəllərin avtomatik yenilənməsi.
- Mürəkkəb biznes qaydalarının icrası: müəyyən şərtlər altında əlavə tədbirlərin başlanması.
Triggerlər cədvəl səviyyəsində müəyyən edilir və dəyişdirilən sətirin köhnə və yeni dəyərlərinə istinad edə bilər.
-- Sintaksis nümunəsi (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO audit (user_id, action, timestamp)
VALUES (NEW.id, 'insert', NOW());
END;
Triggerlərdən ehtiyatla istifadə etmək vacibdir, çünki onlar debugging-i çətinləşdirə və verilənlər bazasının performansına təsir göstərə bilər.