Il modo tipico per farlo in Oracle sarebbe:
DELETE FROM patient
WHERE dis_date < TRUNC(ADD_MONTHS(SYSDATE, -7*12));
Il motivo per cui suggerisco di utilizzare ADD_MONTHS()
invece degli intervalli di anno è ADD_MONTHS()
è sicuro per l'anno bisestile.