トリガの理解しにくい一面として、複数のトリガが同じトリガ元アクションの影響を受ける場合に、これらのトリガが実行される順序があります。競合するトリガが実行されるかどうか、また実行される場合の順序は、トリガのタイプ (BEFORE、INSTEAD OF、または AFTER) とトリガのスコープ (ローレベルまたは文レベル) の 2 点で決まります。
ローレベルのトリガの場合、BEFORE トリガが実行されてから INSTEAD OF トリガが実行され、その後に AFTER トリガが実行されます。特定のローのローレベルのトリガがすべて実行されてから、後続のローのトリガが実行されます。
文レベルのトリガの場合、INSTEAD OF トリガが実行されてから AFTER トリガが実行されます。文レベルの BEFORE トリガはサポートされていません。
文レベルとローレベルの AFTER トリガが競合する場合は、ローレベルの AFTER トリガがすべて完了してから文レベルのトリガが実行されます。
文レベルとローレベルの INSTEAD OF トリガが競合する場合、ローレベルのトリガは実行されません。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |