删除超过1个月的行

时间:2015-10-12 16:54:20

标签: sql oracle oracle11g

我有这个Oracle表,如果它们超过1个月我想删除行吗?

CREATE TABLE EVENTS(
  EVENTID INTEGER NOT NULL,
  SOURCE VARCHAR2(50 ),
  TYPE VARCHAR2(50 ),
  EVENT_DATE DATE,
  DESCRIPTION VARCHAR2(100 )
)
/

另外我如何删除表格总大小的行例如是100 MB?

1 个答案:

答案 0 :(得分:2)

您应该可以执行类似

的操作
DELETE FROM EVENTS
  WHERE EVENT_DATE < ADD_MONTHS(SYSDATE, -1);

祝你好运。

编辑(参见OP关于XML的评论)

在不知道如何获取或使用XML值的情况下,很难说,但也许类似

DELETE FROM EVENTS
  WHERE EVENT_DATE < ADD_MONTHS(SYSDATE, XMLvalue * -1);

其中XMLvalue是您从XML获得的值。

祝你好运。