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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベースの作成 » データベース・オブジェクトの使用 » 計算カラムの使用

 

計算カラムの挿入と更新

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

  • 直接挿入と直接更新   計算カラムに値を挿入するために INSERT 文や UPDATE 文を使用しないでください。そのような値は、意図した計算内容を反映しない可能性があります。また、計算カラムで手動で挿入または更新したデータは、カラムの再計算時に変更される可能性があります。

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

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

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

INSERT、UPDATE、または LOAD TABLE 文を使用して計算カラムに値を挿入できますが、そのようなアプリケーションは想定しておらず、推奨できません。

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

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

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