| 139 | = Сумарно |
| 140 | Како знаеме дека она што сме го направиме се навистина тригери? \\ |
| 141 | -> Тригерите се врзани за табелите {{{contains}}}, {{{orders}}}, {{{stock}}} \\ |
| 142 | и се активираат автоматски на {{{INSERT}}},{{{UPDATE}}},{{{DELETE}}} \\ |
| 143 | -> Сите тригери како {{{trg_update_total_price}}}, {{{trg_decrement_stock}}}... се дефинирани преку {{{CREATE TRIGGER}}} \\ |
| 144 | -> Извршување на наредби како {{{INSERT}}},{{{UPDATE}}},{{{DELETE}}} \\ |
| 145 | {{{trg_update_total_price}}} се активира на {{{INSERT}}},{{{UPDATE}}} и {{{DELETE}}} на {{{contains}}} \\ |
| 146 | {{{trg_decrement_stock}}} на {{{INSERT}}} \\ |
| 147 | {{{trg_increment_stock}}} на {{{DELETE}}} \\ |
| 148 | -> Употреба на {{{BEFORE}}} и {{{AFTER}}} \\ |
| 149 | Сите тригери се {{{AFTER}}}, што е логично бидејќи сакаме да настапи откако ќе се случи акцијата \\ |
| 150 | -> Употреба на {{{NEW}}} и {{{OLD}}} \\ |
| 151 | Конкретен пример е {{{update_order_total_price()}}} |
| 152 | {{{#!sql |
| 153 | IF TG_OP = 'DELETE' THEN |
| 154 | order_id := OLD.id_order; |
| 155 | ELSE |
| 156 | order_id := NEW.id_order; |
| 157 | END IF; |
| 158 | }}} |
| 159 | -> Употреба на {{{BEGIN}}} и {{{END}}} \\ |
| 160 | {{{#!sql |
| 161 | BEGIN |
| 162 | -- логика |
| 163 | END; |
| 164 | }}} |
| 165 | ->Сите тригери работат на ниво на ред {{{FOR EACH ROW}}} |
| 166 | |