InterBase クイック スタート:Part V - ジェネレータやトリガを使った応用演習
提供: InterBase
InterBase クイック スタート:Part V - 応用トピック へ戻る
トリガに関するこのセクションの残りの部分では、別のジェネレータ、および、さらに 3 つのトリガを作成していきます。 このセクションを完了させるには、2 つの方法があります:
- 手順に従い、残りの項目を手動で入力します。
TRIGGERS.SQL
スクリプトを使用します。
スクリプトを使用する
スクリプトを使用する方法を選択した場合には、次を行ってください:
TRIGGERS.SQL
スクリプトを読み込みます。- クエリを実行します。
- 正常に
TRIGGER.SQL
スクリプトを実行できたら、データベースをバックアップすることをお勧めします。 - ページ「ストアド プロシージャ」に進みます。
残りの項目を手動で入力する
トリガやストアド プロシージャを正常に作成できるたびに、作業をコミットすることをお勧めします。
ジェネレータやトリガを使用した応用演習
- 次に作成するトリガは、
cust_no_gen
ジェネレータを使用します。CREATE generator cust_no_gen
SET generator cust_no_gen TO 1015
- ここで、
CREATE TRIGGER
文を実行して、set_cust_no
トリガを作成します:CREATE TRIGGER set_cust_no FOR customer BEFORE INSERT AS BEGIN NEW.cust_no = gen_id ( cust_no_gen, 1 ); END
- このトリガをテストするには、カスタマの最高値が
1015
であることをまず確認します。SELECT MAX(cust_no) FROM customer
- その後、以下の行を挿入します:
INSERT INTO customer (customer, contact_first, contact_last, phone_no, address_line1, address_line2, city, state_province, country, postal_code, on_hold) VALUES ('Big Rig', 'Henry', 'Erlig', '701-555-1212', '100 Big Rig Way', NULL, 'Atlanta', 'GA', 'USA', '70008', NULL)
- 新しい顧客番号が
1016
であることを確認するには、次の文を入力します:SELECT cust_no FROM customer WHERE customer = 'Big Rig'