2

20 秒以上前の行を削除するために、Informix で次のことを行っています。

delete from sometable
where someDateColumn < (current - interval (20) second to second);

ただし、ストアドプロシージャで間隔を構成可能にしたいのですが、できません

CREATE PROCEDURE i_hate_informix (prm_timeframe int)
    DELETE   sometable
    WHERE    someDateColumn < (current - interval (prm_timeframe) second to second);
END PROCEDURE;
4

1 に答える 1

3

私は自分で答えを見つけました。

変数を使用して動的に間隔を定義することはできません。しかし、「単位秒」を使用できるので、私の手順は次のようになります

CREATE PROCEDURE i_hate_informix (prm_timeframe int)
   DELETE   sometable
   WHERE    someDateColumn < (current - prm_timeframe units second);
END PROCEDURE;
于 2009-05-28T10:46:56.240 に答える