Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » テーブル、ビュー、インデックス » 計算カラム

 

計算カラムへの挿入と更新

計算カラムへの挿入や更新における考慮事項は次のとおりです。

  • 直接挿入と直接更新   INSERT または UPDATE 文では計算カラムの値を指定できますが、値は無視されます。サーバーは COMPUTE の指定に基づいて計算カラムの値を計算し、その計算カラム値を INSERT または UPDATE 文 の指定された値の場所に使用します。

  • カラムの依存性   たとえば、NULL 値を NULL 値以外の値に変更するなど、計算カラムの定義で参照されるカラムの値を設定するときにトリガーを使用しないことを強くおすすめします。これは、計算カラムの値が意図した計算内容を反映していない可能性があるためです。

  • カラム名をリストする   計算カラムのあるテーブルに対する INSERT 文では、常にカラム名を明示的に指定してください。

  • トリガー   計算カラムにトリガーを定義すると、そのカラムに影響するすべての INSERT 文または UPDATE 文はトリガーを起動します。

LOAD TABLE 文では、計算カラムのオプション計算が可能です。ロード操作中に計算を行わないようにすると、複雑なアンロード/再ロード手順を速くすることができます。これは、COMPUTE 式が CURRENT TIMESTAMP などの非確定値を参照する場合でも、計算カラムの値が一定である必要がある場合に便利です。

計算カラムの値がカラム定義と一致しなくなる場合があるため、トリガーの従属カラムの値は変更しないでください。

計算カラム x が NOT NULL と宣言されたカラム y に依存する場合、y に NULL を設定しようとすると、トリガーが起動される前にエラーが発生し、拒否されます。