3 Laboratoriya ishi Mavzu: sql da triggerlar yaratish. Ma’lumotlar bazasini dasturlash tillariga bog‘lash



Download 30,49 Kb.
bet3/8
Sana23.01.2022
Hajmi30,49 Kb.
#405957
1   2   3   4   5   6   7   8
Bog'liq
sql trigger

Trigger dasturlash


Yozuvlarni qo'shish, o'zgartirish va o'chirish buyruqlarini bajarishda server ikkita maxsus jadval yaratadi: kiritilgan va o'chirildi... Ularda tranzaksiya oxirida kiritiladigan yoki o'chiriladigan qatorlar ro'yxati mavjud. Kiritilgan va o'chirilgan jadvallarning tuzilishi tetiği aniqlangan jadvallar tuzilishi bilan bir xil. Har bir tetikchi o'z kiritilgan va o'chirilgan jadvallar to'plamini yaratadi, shuning uchun ularga boshqa hech qanday kiruvchi kira olmaydi. Trigger bajarilishiga sabab bo'lgan operatsiya turiga qarab, kiritilgan va o'chirilgan jadvallar tarkibi boshqacha bo'lishi mumkin:

  • INSERT - kiritilgan jadval foydalanuvchi jadvalga kiritmoqchi bo'lgan barcha qatorlarni o'z ichiga oladi. o'chirilgan jadvalda qatorlar bo'lmaydi; trigger tugagandan so'ng, kiritilgan jadvaldagi barcha qatorlar asl jadvalga ko'chiriladi;

  • DELETE buyrug'i - o'chirilgan jadvalda foydalanuvchi o'chirmoqchi bo'lgan barcha qatorlar bo'ladi; tetik har bir qatorni tekshirishi va uni o'chirishga ruxsat berilganligini aniqlashi mumkin; kiritilgan jadvalda qatorlar bo'lmaydi;

  • UPDATE buyrug'i - bajarilgandan so'ng, o'chirilgan jadvalda eski qator qiymatlari mavjud bo'lib, ular muvaffaqiyat bilan o'chiriladi

Oxirgi yangilanish: 09.11.2017

Triggerlar - bu saqlanadigan protseduraning maxsus turi bo'lib, u jadval yoki ko'rinishda ma'lum bir amal bajarilganda, xususan, ma'lumotlar qo'shilganda, o'zgartirilganda yoki o'chirilganda, ya'ni INSERT, UPDATE, DELETE buyruqlarini bajarishda avtomatik ravishda chaqiriladi.

Rasmiy tetik ta'rifi: Har bir trigger ma'lum bir jadval yoki ko'rinish bilan bog'liq bo'lib, uning nomi ON so'zidan keyin paydo bo'ladi.

Keyin tetik turi o'rnatiladi. Biz ikkita turdan birini ishlatishimiz mumkin:

KEYIN: Amal tugagandan so'ng bajariladi. Faqat jadvallar uchun belgilanadi.

O'RNI: harakat o'rniga bajariladi (ya'ni, amal - qo'shish, o'zgartirish yoki o'chirish - umuman bajarilmaydi). Jadvallar va ko'rinishlar uchun belgilanadi

Trigger turidan keyin tetik aniqlanadigan operatsiyaning ko'rsatmasi keladi: INSERT, UPDATE yoki DELETE.

Tetik uchun AFTER bir vaqtning o'zida UPDATE va INSERT kabi bir nechta amallarga qo'llanilishi mumkin. Bunday holda, operatsiyalar vergul bilan ajratiladi. INSTEAD OF trigger uchun faqat bitta harakatni aniqlash mumkin.

Va keyin AS so'zidan so'ng, aslida tetik korpusini tashkil etuvchi SQL bayonotlar to'plami keladi.

Keling, tetik yarataylik. Aytaylik, bizda quyidagi ta'rifga ega productsdb ma'lumotlar bazasi mavjud:

Ma'lumotlar bazasini yaratish productdb; GOST USDdan foydalaning; JADVAL mahsulotlarini yaratish (Id INTENT IDENT PRIMARY KEY, ProductName NVARCHAR (30) NULL EMAS, NVARCHAR (20) NULL EMAS, ProductCount INT DEFAULT 0, Narx PUL NULL emas);

Sql_expression AS TRIGGER trigger_name ON (table_name | view_name) (SONRA | O'RNI)

Trigger yaratish uchun CREATE TRIGGER iborasi ishlatiladi, keyin esa tetik nomi. Odatda, tetik nomi operatsiyalar turini va operatsiya bajariladigan jadval nomini aks ettiradi.

Ma'lumotni qo'shish va yangilashda ishga tushadigan tetikni aniqlaylik:

Productdb dan foydalaning; QO'ShIMChA QANDAY TEXNIKA TUG'ILGAN MAHSULOTLARNI YARATISH, MAHSULOTLARNI SIFATLAShISH Narxi = Narx + Narx * 0.38 QAYERDA Id = (Tanlangan iddan kiritilgan)

Aytaylik, Mahsulotlar jadvali mahsulot ma'lumotlarini saqlaydi. Lekin mahsulot bahosida ko'pincha qo'shimcha qiymat solig'i, qo'shilgan korruptsiya solig'i va boshqalar kabi turli qo'shimcha to'lovlar mavjud. Ma'lumot qo'shgan kishi soliq bazasining barcha murakkabliklarini bilmasligi mumkin va ular aniq narxni aniqlaydilar. Tetik yordamida biz mahsulot narxini ma'lum miqdorda sozlashimiz mumkin.

Shunday qilib, tijorat mahsulotlari jadvalidagi har qanday INSERT yoki UPDATE operatsiyasini yoqadi. Tetikning 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, siz qo'shganingizda yoki o'zgartirganingizda, ma'lumotlar kiritilgan jadvalga saqlanadi. U avtomatik ravishda yaratiladi. Va undan biz qo'shilgan / o'zgartirilgan mahsulotlar haqida ma'lumot olishimiz mumkin.

Mahsulotlar jadvaliga mahsulotni qo'shgandan so'ng, aslida, mahsulot qo'shilganda aniqlanganidan biroz yuqori bo'ladi.



Download 30,49 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




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