Triger Yaratish:
Triger yaratish uchun CREATE TRIGGER so'zini ishlatamiz. Triger nomi, tadbir (BEFORE, AFTER), tadbirni qanday vaqt amalga oshirish (INSERT, UPDATE, DELETE), jadval nomi, va amalga oshiriladigan tadbirni bajarish uchun SQL so'rovlari kiritiladi. Misol:
sqlCopy code
CREATE TRIGGER FoydalanuvchiQo'shilgandaTriger AFTER INSERT ON foydalanuvchilar FOR EACH ROW INSERT INTO xabarlar (foydalanuvchi_id, matn) VALUES (NEW.id, 'Yangi foydalanuvchi qo\'shildi');
Ushbu triger, "foydalanuvchilar" jadvalida yangi foydalanuvchi qo'shilganda "xabarlar" jadvaliga xabar qo'shadi.
OLD va NEW Ob'ektlari:
Trigerlar o'zgarish yuzaga kelganda, OLD va NEW ob'ektlari orqali avlodlarni olishadi. OLD o'zgarishdan oldin, NEW esa o'zgarishdan keyin keladigan qiymatlar. Misol:
CREATE TRIGGER DeletedUserTriger BEFORE DELETE ON users FOR EACH ROW INSERT INTO messages (user_id, text) VALUES (OLD.id, 'Foydalanuvchi o\'chirildi');
Ushbu triger, "users" jadvalidan foydalanuvchini o'chirganda xabar qo'shadi.
Trigerda Ma'lumotlar Bilan Ishlash:
Trigerlar ichida ma'lumotlar bilan ishlovchi SQL so'rovlari ishlatish mumkin. Misol:
CREATE TRIGGER AddedMessageTriger AFTER INSERT ON messages FOR EACH ROW UPDATE statistic SET message_num = message_num + 1;
Ushbu triger, "messages" jadvaliga yangi xabar qo'shilganda "statistic" jadvalidagi xabarlar sonini o'zgartiradi.
Trigerlarni O'chirish:
Trigerlarni o'chirish uchun DROP TRIGGER so'zidan foydalanamiz. Misol:
DROP TRIGGER IF EXISTS AddedUserTriger;
Ushbu so'rov " AddedUserTriger " nomli trigerni o'chiradi, agar u mavjud bo'lsa.
Trigerlarni Raqamga Solish:
Trigerlarni bir qatorida tanlash uchun SHOW TRIGGERS so'zidan foydalanamiz. Misol:
SHOW TRIGGERS;
Bu so'rov barcha mavjud trigerlarni ro'yxatini ko'rsatadi.
Trigerlarni ishlatishda ehtiyotkorlik qilish, ularni juda ko'p va kamroq ishlatishni vaqtincha yoki kerak bo'lgan holatlarda aniqlab olish tavsiya etiladi.
Dostları ilə paylaş: |