我是数据库新手。我想从表中清除一些数据(即清除超过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
我认为你必须改变它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());