Prostoy xleb



Yüklə 2,88 Mb.
səhifə58/66
tarix29.11.2023
ölçüsü2,88 Mb.
#140628
1   ...   54   55   56   57   58   59   60   61   ...   66
Qo\'llanma 11.10.2023

select @sum;
New degani biz eski qiymatni emas, balki yangi qiymatni olishimizni anglatadi (OLD eskisi uchun ishlatiladi).

FOR EACH ROW- bu siklga o'xshash narsa, ya'ni trigger biriktirilgan jadvalning har bir qatori uchun keyingi nuqta-vergulga o'tiladi.


mysql> set @sum=0;
Query OK, 0 rows affected (0.08 sec)
mysql> INSERT INTO hisob VALUES(137,14.98),(141,1937.50),(97,-100.00);
Query OK, 3 rows affected (0.29 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT @sum AS 'Umumiy summa';
+ -+
| Umumiy summa |
+ -+
| 1852.48 |
+ -+
1 row in set (0.00 sec)
Quyidagi hisoblandi: 14.98 + 1937.50 - 100, yoki 1852


Triggerni quyidagicha o’chirish mumkin: DROP TRIGGER test.ins_sum;


OLD va NEW


Keling, OLD va NEW nima ekanligini batafsil ko'rib chiqaylik. Ushbu ko'rsatmalar trigger bilan ishlaydigan ustunlarga kirishga imkon beradi. Ushbu ko'rsatmalar faqat MySQL-ga tegishli. Ular registrga sezgir emas.
INSERT triggerida faqat NEW.col_name ishlatilishi mumkin. Bu tushunarli, OLD.col_name hali mavjud emas.
DELETE triggerida faqat OLD.col_name ishlatilishi mumkin. UPDATE triggerida ikkalasini ham ishlatishingiz mumkin.

Keyingi misol


Quyidagi misol bir nechta ko'rsatmalardan trigger yaratishga imkon beradi. Faqatgina ularni BEGIN END ichiga qo'shish va triggerning davomiyligini belgilovchi
delimiter e'lon qilish kerak.
\d //
CREATE TRIGGER upd_check BEFORE UPDATE ON hisob FOR EACH ROW
BEGIN
IF NEW.middori < 0 THEN SET NEW.middori = 0;
ELSEIF NEW.middori > 100 THEN
SET NEW.middori = 100; END IF;
END;// mysql> \d ;
Trigger ichida siz CALL usulidan foydalangan holda saqlangan protsedurani chaqirishingiz mumkin, ammo ko’plikda emas.
Shuningdek, triggerlardan tranzaksiyalarda foydalanib bo'lmaydi.

Yüklə 2,88 Mb.

Dostları ilə paylaş:
1   ...   54   55   56   57   58   59   60   61   ...   66




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

    Ana səhifə