De typische manier om dit in Oracle te doen zou zijn:
DELETE FROM patient
WHERE dis_date < TRUNC(ADD_MONTHS(SYSDATE, -7*12));
De reden waarom ik voorstel om ADD_MONTHS() te gebruiken in plaats van jaarintervallen is dat ADD_MONTHS() is schrikkeljaar veilig.