2 つのタイムスタンプの値を比較し、これらが同じかどうかを返します。
TSEQUAL ( timestamp1, timestamp2 )
timestamp1 タイムスタンプ式。
timestamp2 タイムスタンプ式。
BIT
TSEQUAL 関数は、WHERE 句でのみ使用できます。これは、UPDATE 文の一部として最も一般的に使用されます。
timestamp1 と timestamp2 が同じ場合は、フェッチされた後にローが変わっています。ローが変わった場合は、そのタイプスタンプが変更されており、TSEQUAL 関数は FALSE を返します。TSEQUAL 関数が FALSE を返すと、アプリケーションはどのローも更新されていないと判断し、別のユーザによってローが変更されたと想定します。更新されたローは再フェッチされます。
TSEQUAL 関数を使用すると、ローがフェッチされた後に変更されているかどうかを判断できます。
SQL/2003 ベンダ拡張。
TIMESTAMP カラム Products.LastUpdated を作成し、ローが最後に更新された時刻のタイムスタンプを格納するとします。次の UPDATE 文は、TSEQUAL 関数を使用してローが更新されたかどうかを判断します。LastUpdated の値が '2010/12/25 11:08:34.173226' の場合、ローは更新されています。
UPDATE Products SET Color = 'Yellow' WHERE ID = '300' AND TSEQUAL( LastUpdated, '2010/12/25 11:08:34.173226' ); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |