A maneira típica de fazer isso no Oracle seria:
DELETE FROM patient
WHERE dis_date < TRUNC(ADD_MONTHS(SYSDATE, -7*12));
A razão pela qual sugiro usar
ADD_MONTHS()
em vez de intervalos de ano é que ADD_MONTHS()
é seguro para anos bissextos. DELETE FROM patient
WHERE dis_date < TRUNC(ADD_MONTHS(SYSDATE, -7*12));
ADD_MONTHS()
em vez de intervalos de ano é que ADD_MONTHS()
é seguro para anos bissextos.