Page History
...
ファンクションをトリガー・ファンクションとして定義する場合、多くの状況で以下のガイドラインに従う必要があります。
- 「フィールドの妥当性検査/トリガー」および「トリガー・ファンクション」を参照して、トリガーの定義方法および使用方法を理解してください。フィールドの妥当性検査/トリガー および「トリガー・ファンクション」を参照して、トリガーの定義方法および使用方法を理解してください。
- オプション*NOMESSAGESおよび*MLOPTIMIZEを使用してください。
- オプション*HEAVYUSAGEおよび*DBOPTIMIZEの使用を検討することもできます。
- 直接または間接を問わず、トリガーが関連付けられているデータベース・テーブル、または今後関連付けられるデータベース・ファイルにアクセスしないでください。
- トリガーが頻繁かつ継続的に呼び出される場合は、リソースを大量に消費する操作は避けてください。このような操作を実行すると、関連付けられたテーブルへのアクセス速度が低下します。無理のない範囲で、トリガーによって別のトランザクションを「送信」して、イベントのソースが大幅に遅れないようにしてください。
- 再帰的なファンクション呼び出しを記述することは可能ですが、実行の段階で失敗します。例えば、テーブルAへの挿入中に呼び出されたフィールド・トリガー・ファンクションがテーブルBにデータを挿入しようとすると、それ自体が再帰的に呼び出される状況に陥り、失敗する可能性があります。