HOME > 受験対策 > サンプル問題/例題解説 > Silverの例題解説「開発/SQL」 > SQLコマンド(ルール、トリガー)

Silverの例題解説「開発/SQL - SQLコマンド(ルール、トリガー)」

今回は、Silverの「開発/SQL - SQLコマンド(ルール、トリガー)」からの出題です。

例題

Q. あるテーブルに、文レベルのBEFORE INSERTトリガーを2つ定義した。この場合の動作について正しいものを選びなさい。
  1. A. 1つ目のトリガーのみが実行される。
  2. B. 2つ目のトリガーのみが実行される。
  3. C. 1つ目のトリガー、2つ目のトリガーの順で両方が実行される。
  4. D. 2つ目のトリガー、1つ目のトリガーの順で両方が実行される。
  5. E. 両方のトリガーが実行されるが、どちらが先かは場合による。

※この例題は実際のOSS-DB技術者認定試験とは異なります。

解答と解説

トリガーを定義するには、トリガーとして実行されるTRIGGER型の関数を作成した後、例えば
CREATE TRIGGER トリガー名 BEFORE INSERT ON テーブル名 EXECUTE PROCEDURE 関数名;
のような形式でCREATE TRIGGERコマンドを実行します。
トリガー名を変えることにより、同じテーブルに同じ種類のトリガーを複数定義することができ、すべてのトリガーが実行されます。複数のトリガーがあるときの実行順序はトリガー名でソートした順序なので、つまりトリガー名に依存します。トリガーを定義した順序とは関係がありません。

従って、正解はEです。

  • 今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

ページトップへ