Junior
Триггер деген эмне?
sobes.tech AI
AIден жооп
Триггер — бул атайын сакталган процедура, ал маалыматтар базасында белгилүү бир окуя болуп өткөндө автоматтык түрдө ишке кирет.
Триггерлерди активдештирүүчү окуялар көбүнчө төмөнкүлөрдү камтыйт:
INSERT: таблицага жаңы саптарды кошуу.UPDATE: бар саптарды өзгөртүү.DELETE: саптарды өчүрүү.
Триггерлер окуяга карата ар башка убакта ишке кириши мүмкүн:
BEFORE: окуя ишке ашырылардан мурун.AFTER: окуя ишке ашырылгандан кийин.INSTEAD OF: окуяны ишке ашыруунун ордуна (көбүнчө көрүнүштөр менен колдонулат).
Триггерлердин колдонулушуна мисалдар:
- Маалыматтын бүтүндүгүн сактоо: автоматтык түрдө текшерүү же өзгөртүү кошуу/жаңыртуу учурунда.
- Аудит: маалымат өзгөрүүлөрү тууралуу маалыматтарды өзүнчө лог таблицасына жазуу.
- Маалыматтарды синхрондоштуруу: байланышкан таблицаларды автоматтык түрдө жаңыртуу.
- Кыйын бизнес эрежелерин ишке ашыруу: белгилүү шарттарда кошумча аракеттерди баштоо.
Триггерлер таблица деңгээлинде аныкталган жана өзгөртүлгөн саптын эски жана жаңы маанилерине шилтеме жасай алат.
-- Синтаксис мисалы (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO audit (user_id, action, timestamp)
VALUES (NEW.id, 'insert', NOW());
END;
Триггерлерди сак болуу менен колдонуу маанилүү, анткени алар ката табууну кыйындатат жана маалыматтар базасынын иштөө ылдамдыгына таасир этет.