修正できない奇妙な問題があります。
タイムスタンプが 1 時間より古いすべての行を削除しようとしています。
SQL:
DELETE FROM TABLE WHERE TIMESTAMP <= SYSTIMESTAMP - 1/24
SQL Developerではコード全体が完璧に機能しますが、iBatis.netで同じことをしようとするとタイムアウトが発生します。
<statements>
<delete id="DeleteRows" parameterClass="int">
<![CDATA[
DELETE FROM TABLE WHERE TIMESTAMP <= SYSTIMESTAMP - #VALUE#/24
<!--THIS DON'T WORK-->
]]>
</delete>
</statements>
もう1つの奇妙なことは、小なり演算子を「等しい」にぶら下げたときに問題が存在しないことです。
<statements>
<delete id="DeleteRows" parameterClass="int">
<![CDATA[
DELETE FROM TABLE WHERE TIMESTAMP = SYSTIMESTAMP - #VALUE#/24
<!--THIS WORK-->
]]>
</delete>
</statements>
タイムアウトは、iBatis.net でのみ、Les-than および Grater-than 演算子でのみ生成されます。理由を知っている体はありますか?
面白い事実。クエリを実行DELETE FROM TABLE WHERE TIMESTAMP < '07-AUG-11'
すると動作します。また、クエリを実行しようとすると、DELETE FROM TABLE WHERE TIMESTAMP BETWEEN '07-AUG-11' AND SYSTIMESTAMP
それも機能します。これらの演算子を使用せずに 1 時間より古い行を削除する他の方法は<
あり
ますか? ありがとう>
SYSTIMESTAMP