sql >> Databáze >  >> RDS >> Mysql

jak naplnit hodnotu sloupce mysql na základě vzorce?

Zde je příklad spouštěče, který bude fungovat. Všimněte si, že budete potřebovat jak aktualizovat, tak vkládat spouštěče kvůli vašim požadavkům na "ad hoc aktualizaci".

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 ;

Nebyl by ale pohled jednodušší a lepší?

create view my_table_view as
select item_price, discount, delivery_charge, 
item_price - discount + delivery_charge as grand_total
from my_table;

pak stačí vybrat z pohledu místo tabulky



  1. Poskytovatel není kompatibilní s verzí chyby klienta Oracle při použití Oracle.DataClient

  2. SQLite CHECK omezení

  3. Jak přeskočit řádky, které porušují omezení při vkládání dat do SQLite

  4. SQL:Jak provést řetězec se nerovná