| | 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 | |