Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti mustaqil ish



Yüklə 135,9 Kb.
səhifə3/7
tarix16.12.2023
ölçüsü135,9 Kb.
#183164
1   2   3   4   5   6   7
enbmbbmi

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:

CREATE TRIGGER AddedUserTriger


AFTER INSERT ON users
FOR EACH ROW
INSERT INTO messages (user_id, text)
VALUES (NEW.id, 'Yangi foydalanuvchi qo\'shildi');

Ushbu triger, "users" jadvalida yangi foydalanuvchi qo'shilganda "messages" jadvaliga xabar qo'shadi.


Trigerlar, ma'lumotlar bazasidagi boshqa tadbirlar bajarilganda avtomatik ravishda ishga tushadigan qisqa protseduralardir. Bu tadbirlar boshqa amallar bo'yicha to'g'ridan to'g'ri ishga tushadi, va ularni ma'lumotlar bazasi har bir qatorida, jadvallar o'zgarib turganda, yoki boshqa ma'lumot o'zgarishlaridan keyin ishlatish mumkin. Quyidagi qismlarda trigerlarga ko'proq ma'lumot beraman:



  1. 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');

Triggerlar Yaratilishi xar bir Userlar uchun !!!!
-- Trigger for adding a new user
CREATE TRIGGER AddUser
ON Employee
AFTER INSERT
AS
BEGIN
-- Biz bu yerda boshqa shartlar berishingiz mumkin
-- Yangi ma'lumotlarga INSERTED.column_name orqali kirishingiz mumkin
-- Masalan, siz yangi foydalanuvchi qo'shilganligini qayd qilishni xohlashingiz mumkin INSERT INTO UserLog (log_message)
SELECT 'New user added: ' + name
FROM INSERTED;
END;

-- Trigger for deleting a user


CREATE TRIGGER DeleteUser
ON Employee
AFTER DELETE
AS
BEGIN
-- -- Biz bu yerda boshqa shartlar berishingiz mumkin
-- biz ochirishimiz uchun shart yozamiz DELETED.column_name

-- Masalan, siz yangi foydalanuvchi ochiriganligini qayd qilishni xohlashingiz mumkin


INSERT INTO UserLog (log_message)
SELECT 'User deleted: ' + name
FROM DELETED;
END;

-- Trigger for updating a user


CREATE TRIGGER UpdateUser
ON Employee
AFTER UPDATE
AS
BEGIN
-- SHart ga kora kod yozishingiz mumkin
INSERTED.column_name

-- For example, you might want to log the update of a user


INSERT INTO UserLog (log_message)
SELECT 'User updated: ' + name + ' -> ' + INSERTED.name
FROM INSERTED
INNER JOIN DELETED ON INSERTED.employee_id = DELETED.employee_id;
END;


Yüklə 135,9 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin