トリガー vs. 計算列
データベースの分析を続ける中で、さらに興味深いオブジェクトを2つ見つけました。
テーブル
SalesWithPriceには、TotalAmountをQuantity * Priceで算出する列があります。これは同じテーブル内の列を使って計算する計算列(computed column)で実装されています。トリガー
SalesCalculateTotalAmountはSalesWithoutPriceテーブル上に作成されています。SalesWithoutPriceにはPrice列がないため、TotalAmountに計算列は使えません。この制約は、ProductsテーブルのPrice列を利用するトリガーで解決しています。
この演習はコースの一部です
SQL Server のトリガー構築と最適化
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Add the following rows to the table
INSERT INTO ___ (Customer, Product, Price, Currency, Quantity)
VALUES ('Fruit Mag', 'Pomelo', 1.12, 'USD', 200),
('VitaFruit', 'Avocado', 2.67, 'USD', 400),
('Tasty Fruits', 'Blackcurrant', 2.32, 'USD', 1100),
('Health Mag', 'Kiwi', 1.42, 'USD', 100),
('eShop', 'Plum', 1.1, 'USD', 500);
-- Verify the results after adding the new rows
SELECT * FROM SalesWithPrice;