新しい行はありません。使用して、更新されたあとの行のカラムを参照できます。指名されたカラムは読み取り専用です。参照はできますが、変更はできません。権限がある場合に参照できます。その値を変更することもできます。これは、トリガーを使用して、新しい行に挿入する値または行の更新に使用される値を変更できることを意味します。トリガーでは効果がありません。あり、新しい行が実際に挿入されるときに自動的に生成されるシーケンス番号ではありません。構造構文を使用することにより、複数のステートメントを実行するトリガーを定義できます。ブロック内では、条件文やループなど、ストアドルーチン内で許可されたほかの構文を使用することもできます。ステートメント区切り文字を再定義する必要があります。次の例はこれらの要点を示しています。トリガーを定義しています。トリガーにする必要があります。ステートメントを使用してトリガーから呼び出したほうが簡単になる場合があります。これは、複数のトリガー内から同じコードを実行する場合にも便利です。アクティブ化したときにトリガーが実行するステートメントに表示できる対象には制限があります。使用するストアドプロシージャーの呼び出しはできません。パラメータを通じてトリガーにデータを返すことが許可されています。トランザクションを明示的または暗黙的に開始したり終了したりするステートメントを使用できません。セクションD.1「ストアドプログラムの制約」も参照してください。次のようにトリガー実行中にエラーを処理します。トリガーが失敗した場合、対応する行に対する操作は実行されません。よってアクティブ化され、その試行がその後成功するかどうかには関係ありません。トリガーと行操作の実行が成功した場合にのみ実行されます。トリガーのどちらかの実行中にエラーが発生すると、トリガーの呼び出しを起こしたステートメント全体が失敗します。トランザクションテーブルの場合、ステートメントの失敗により、ステートメントが実行したすべての変更がロールバックされます。トリガーの失敗はステートメントの失敗を招くので、トリガーの失敗はロールバックも引き起こします。非トランザクションテーブルの場合、このようなロールバックは行えないので、ステートメントが失敗しても、エラーの時点以前に実行されたすべて変更は有効なままです。いう名前のトリガーなど、トリガーには、名前によるテーブルへの直接の参照を含めることができます。次の値を挿入するとします。つのテーブルに次のデータが含まれます。