表Aには、フィールドCENA
(price)、cena_za_kus
(price_per_piece)、mnozstvi
(quantity)があります。表B
には
、フィールド(vat)があります。DPH
PRICE
次のようなフィールドの値を計算する変更前/挿入トリガーを追加したいと思います。
price = (price_per_piece * count) + (price_per_piece * count * tableB.vat)
これは可能ですか?ありがとうございました。
編集:そして、テーブルAの行には、テーブルBdph_id
の対応する行を指すforeign_keyがあります。
CREATE TABLE `polozky` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`objednavka_id` int(11) NOT NULL,
`dph_id` int(11) NOT NULL,
`polozka` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`cena` float NOT NULL,
`mnozstvi` int(11) NOT NULL,
`cena_za_kus` float NOT NULL,
PRIMARY KEY (`id`),
KEY `IdObjednavka` (`objednavka_id`,`dph_id`),
KEY `objednavka_id` (`objednavka_id`),
KEY `dph_id` (`dph_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=63663 ;
ALTER TABLE `polozky`
ADD CONSTRAINT `polozky_ibfk_7` FOREIGN KEY (`objednavka_id`) REFERENCES `objednavky` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `polozky_ibfk_8` FOREIGN KEY (`dph_id`) REFERENCES `dph` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
と
CREATE TABLE `dph` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sekce` varchar(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'nastaveni',
`popis` varchar(8) COLLATE utf8_unicode_ci NOT NULL,
`DPH` int(11) unsigned NOT NULL,
`poradi` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `DPH_2` (`DPH`),
UNIQUE KEY `popis` (`popis`),
KEY `DPH` (`DPH`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=9 ;