After turidagi triggerlar


Download 156.19 Kb.
Pdf ko'rish
Sana08.03.2022
Hajmi156.19 Kb.
#600516
Bog'liq
Triggerlar
Adapting Hidden Naive Bayes for Text Classificatio, Baxtiyorova Diyora, Baxtiyorova Diyora (5), Mavzu Borliq falsafasi-hozir.org


Mavzu: Triggerlar. 
Reja: 
1. Triggerlar konstruktori. 
2. 
AFTER turidagi triggerlar.
 
3. 
INSTEAD OF turidagi triggerlar.
 
Triggerlar - jadval yoki ko‘rinishda ma'lumotlarni qo‘shish, o‘zgartirish yoki 
o‘chirishda, ya'ni INSERT, UPDATE, DELETE buyruqlarini bajarishda avtomatik 
ravishda chaqiriladigan maxsus turdagi saqlanadigan protseduralardir. 
Trigger konstruktori: 
CREATE TRIGGER trigger_nomi 
ON {jadva_nomi | ko‘rinish_nomi
{AFTER | INSTEAD OF} [INSERT | UPDATE | DELETE] 
AS operatorlar 
Trigger CREATE TRIGGER buyrug‘idan keyin trigger nomi bilan yaratiladi. 
Keingi qadamlarda qoida tariqasida, trigger nomi operatsiyalar turini va operatsiya 
bajariladigan jadval nomini aks ettiradi. 
Har bir trigger ON so‘zidan keyin nomi ko‘rsatilgan ma’lum bir jadval yoki 
ko‘rinish bilan bog‘langan . 
Keyingi qadamda trigger turi o‘rnatiladi. MSSQL Serverda triggerlarning 
ikkita turdan biridan foydalanish mumkin. Ular quyidagilardir: 
1. AFTER: operatsiya tugallangandan keyin bajariladi. Ushbu triggerlardan 
faqat jadvallarda bajariladigan amallarda foydalanish mumkin. 
2. INSTEAD OF: harakat o‘rnida bajariladi (ya’ni, aslida harakat – qo‘shish, 
o‘zgartirish yoki o‘chirish – umuman bajarilmaydi). Jadvallar va 
ko‘rinishlar uchun belgilangan. 
Trigger turi aniqlab olingandan so’ng keyin trigger aniqlanayotgan so’rov 
(INSERT , UPDATE yoki DELETE) keladi. 
AFTER turidagi triggerlarni bir vaqtning o'zida bir nechta so’rovlarga 
qo'llash mumkin, masalan, UPDATE va INSERT. Bunday holda, operatsiyalar 


vergul bilan ajratilgan holda belgilanadi. INSTEAD OF  turidagi triggerlar uchun 
faqat bitta so’rovni belgilash mumkin.
Keying qadamda  AS kalit so'zidan keyin trigger tanasini tashkil etuvchi SQL 
so’rovlari to'plami beriladi. 
Quyidagi misolda trigger yaratish batafsil ko’rsatib o’tilgan.
Dastavval, quyidagi productsdb ma'lumotlar bazasi va unda Products jadvali 
yaratib olinadi.









10 
11 
12 
CREATE DATABASE productdb; 
GO 
USE productdb; 
CREATE TABLE Products 

Id INT IDENTITY PRIMARY KEY, 
ProductName NVARCHAR(30) NOT NULL
Manufacturer NVARCHAR(20) NOT NULL, 
ProductCount INT DEFAULT 0, 
Price MONEY NOT NULL 
); 
Quyidagi so’rvda yaratib olingan Products jadvali uchun ma'lumotlarni 
qo'shish va yangilashda ishga tushadigan triggerni hosil qilish ko’rsatilgan.









USE productdb; 
GO 
CREATE TRIGGER Products_INSERT_UPDATE 
ON Products 
AFTER INSERT, UPDATE 
AS 
UPDATE Products 
SET Price = Price + Price * 0.38 
WHERE Id = (SELECT Id FROM inserted) 
Aytaylik, Products jadvali mahsulotlar haqidagi ma'lumotlarni saqlaydi. 
Ammo tovarlarning narxi ko'pincha qo'shilgan qiymat solig'i, aksiz solig'i va boshqa 
undiriladigan turli xil qo'shimcha to'lovlarni o'z ichiga oladi. Ma'lumotni 
qo'shayotgan shaxs soliq bazasi bilan bog’liq barcha to’lovlar miqdorini bilmasligi 


yoki ushbu to’lovlar ma’lum vaqtda o’zgarib turishi mumkin. Trigger yordamida biz 
mahsulot hisoblashda barcha to’lovlarni belgilangan miqdorda sozlashimiz mumkin. 
Shunday qilib, trigger Products jadvalidagi barcha INSERT va UPDATE 
so’rovlarida ishga tushadi. Triggerning o'zi mahsulot narxini o'zgartiradi va 
qo'shilgan yoki o'zgartirilgan mahsulotni olish uchun biz ushbu mahsulotni Id 
bo'yicha topamiz. Ammo bunday mahsulotning identifikatori qanday qiymatga ega 
bo'lishi kerak? Gap shundaki, qo'shish yoki o'zgartirish paytida ma'lumotlar 
kiritilgan oraliq jadvalda saqlanadi. U avtomatik ravishda yaratiladi. Va undan biz 
qo'shilgan yoki o'zgartirilgan mahsulotlar haqida ma'lumot olishimiz mumkin. 
Products jadvaliga mahsulotni qo'shgandan so'ng, aslida mahsulot qo'shish 
paytida aniqlanganidan narxida yuqoriroq narxga ega bo'ladi: 
Nazorat savollari: 
1. Triggerlar konstruktori qanday ko’rinishda? 
2. 
AFTER turidagi triggerlar qanday hosil qilinadi?
 
3. 
INSTEAD OF turidagi triggerlar.
 
1. Insert so’rovi uchun triggerlarning qaysi turidan foydalanish mumkin? 

Download 156.19 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2022
ma'muriyatiga murojaat qiling