私の会社では最近、次のロジックを使用していくつかのデータベース フィールドの割り当てを実行する既存のプログラムの修正に取り組んでいます。
db-buffer1.field1 = if db-buffer1.field1 <> db-buffer2.field2
then db-buffer2.field2
else db-buffer1.field1
ここでの元のプログラマーの意図について 100% 確信があるわけではありません。新しいフィールドを割り当てるかどうかを決定する前に、フィールド値が異なるかどうかを比較して、値を理解するのを手伝ってくれる人はいますか?
比較が「偽」であり、最終的に代入する場合db-buffer1.field1 = db-buffer1.field1
、データベースへの書き込み操作を回避できますか?
ASSIGN
また、この例は、同様の代入/比較ロジックを実行する複数のフィールドを含むより大きなステートメントの一部であることにも注意してください。この追加コードの価値に影響はありますか? ASSIGN
(つまり、DB 書き込みを回避するために、ステートメント内のすべての比較が成功する必要がありますか?)