Mysql
 sql >> база данни >  >> RDS >> Mysql

как да попълним стойността на колоната на mysql въз основа на формула?

Ето пример за тригер, който ще работи. Имайте предвид, че ще ви трябват задействания както за актуализиране, така и за вмъкване поради изискванията ви за „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;

след това просто изберете от изгледа вместо от таблицата



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да покажа времето на заявка в Perl, DBI?

  2. Система за лични съобщения. Изброяване на последното съобщение от всеки разговор

  3. PHP mysql charset utf8 проблеми

  4. Как да изчислим разликата между две дати в месеци в MySQL

  5. Свържете се с MySQL, като използвате SSH тунелиране в node-mysql