2

我在 Informix 中执行以下操作以删除超过 20 秒的行。

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 回答