After turidagi triggerlar



Download 156,19 Kb.
Pdf ko'rish
Sana08.03.2022
Hajmi156,19 Kb.
#486137
Bog'liq
Triggerlar



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 ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish