Как удалить данные из таблицы старше 200 дней - PullRequest
0 голосов
/ 10 сентября 2018

Я новичок в базе данных. Я хочу удалить некоторые данные из таблицы (то есть очистить старые данные, которые старше 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

1 Ответ

0 голосов
/ 10 сентября 2018

Я думаю, вам нужно изменить формат 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());
...