LANSA DBトリガーの制限事項
- LANSA DBトリガーは、ネイティブI/Oを介してアクセスされるテーブルでのみ正しく動作します。
以下のものは除外されます。
- SQLを介してのみアクセスされるRDMLX外部テーブル
- LANSAテーブルに1つ以上のLOBフィールドが含まれ、そのLOBフィールドが昇格してデータベースのLOBとして格納される場合
- 『IBM i DB2 UDB for IBM i Database Programming』マニュアルには、次のような警告が記載されています。「SQL UPDATE処理では、読み取り処理が同時に実行された後に書き込み処理が行われます。SQL UPDATE処理では、読み取りトリガーは実行されません。読み取りの後に書き込みが行われるこの処理に対応するには、更新トリガーを指定する必要があります」LANSA DBトリガーを実装すると、この状況では単純に更新処理が行われるようになります。
- LANSA DBトリガーでは、仮想列の処理や検証は発生しません。具体的には、LANSAトリガー・ファンクションでは、仮想列または事前結合列の値を利用できません。
- 実際のフィールドに対して「使用する場所で」定義される妥当性規則とLANSAトリガー・ファンクションをLANSA DBトリガー経由で呼び出すと、常に実行されます。