始める無料で始める

トリガー 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;
コードを編集して実行