如何清除超过200天的tablea中的数据

问题描述 投票:0回答:1

我是数据库新手。我想从表中清除一些数据(即清除超过200天的旧数据),所以我得到了一个Sql脚本。有人可以帮助我如何运行脚本@purge.sql "no of days"

SQL>@@purge.sql 200

实际上我的目标是声称磁盘空间服务器。清除后,我们需要执行任何声明文件系统的步骤。

CREATE OR REPLACE PROCEDURE TEST_PURGE_REC 
(
  DAYS IN VARCHAR2 /* Number of days as an parameter*/

) AS 
BEGIN
/* This deletes the records from the tables TRACK_DETAILS,LOG_DETAILS  tables of TEST schema*/

  DELETE FROM TRACK_DETAILS WHERE TO_CHAR(CREATION_TIME,'DD-MON-YY') < TO_DATE(SYSDATE -DAYS);
  DELETE FROM LOG_DETAILS WHERE TO_CHAR(CREATION_TIME,'DD-MON-YY') < TO_DATE(SYSDATE -DAYS);
  COMMIT;
  DBMS_OUTPUT.PUT_LINE('The records are deleted successfully');

END TEST_PURGE_REC
sql oracle purge
1个回答
1
投票

我认为你必须改变它mssql格式,因为你的查询是在oracle标准

   DELETE FROM TRACK_DETAILS 
   WHERE convert(date,CREATION_TIME) < dateadd(day,-200,getdate());

    go

   DELETE FROM LOG_DETAILS
   WHERE convert(date,CREATION_TIME) < dateadd(day,-200,getdate());
© www.soinside.com 2019 - 2024. All rights reserved.