Blockbuster のような企業から映画がレンタルされた回数を追跡するトリガーを作成する必要があります。挿入、削除、更新用に個別のトリガーが必要です。
このレンタル回数を追跡する列は num_rentals と呼ばれ、データ型は int です。この列は、*movie_id (pk*)、movie_title、release_year、movie_description、および num_rentals を持つMoviesテーブルの一部です。customer_rentalsテーブルには、item_rental_id(pk)、*movie_id(fk*)、customer_id があります。
これについて同様のスレッドを検索して見つけ、提供された回答を使用しようとしましたが、役に立ちませんでした。エラーなしで次の文字列を実行しましたが、Movie テーブルまたは Customer_rentals テーブルにデータを挿入したときに、num_rentals 列に変化が見られませんでした。私は何を間違っていますか?
CREATE TRIGGER dbo.tr_num_rented_insert ON dbo.customer_rentals
FOR INSERT
AS
BEGIN
UPDATE m
SET num_rentals = num_rentals + 1
FROM dbo.movies AS m
INNER JOIN inserted AS i ON m.movie_id = i.movie_id ;
END
num_rentals フィールドを後でテーブルに追加したので、現在 Movies テーブルにあるすべてのレコードのフィールド値をゼロに初期化する方法も知っておく必要があります。
答えが欲しいのと同じくらいこれを理解したいので、助けていただければ幸いです。この種のデータを管理するためのより効率的な方法があるかもしれないと読みましたが、これが私のインストラクターが望んでいる方法です。前もって感謝します!