Ето пример за тригер, който ще работи. Имайте предвид, че ще ви трябват задействания както за актуализиране, така и за вмъкване поради изискванията ви за „ad hoc актуализация“.
delimiter ~
create trigger my_table_update before update on my_table
for each row begin
set new.grand_total = new.item_price - new.discount + new.delivery_charge;
end~
create trigger my_table_insert before insert on my_table
for each row begin
set new.grand_total = new.item_price - new.discount + new.delivery_charge;
end~
delimiter ;
Но няма ли един изглед да бъде по-прост и по-добър?
create view my_table_view as
select item_price, discount, delivery_charge,
item_price - discount + delivery_charge as grand_total
from my_table;
след това просто изберете от изгледа вместо от таблицата