auto set value of a specific column after 24 hours and to delete record after one week: Oracle SQL
Rather than query a table, why not query a view that has your rules built in?
CREATE VIEW vwPasswordResetLink
    AS 
SELECT link_id,
       link_date, 
       CASE WHEN sysdate &gt; link_date + INTERVAL '1' DAY THEN 1
            ELSE 0 END AS isExpired,
       email,
       linkUsed
  FROM PasswordResetLink 
 WHERE link_date &gt;= sysdate - INTERVAL '7' DAY;

Then you can write a scheduled job to delete records older than 7 days to clear out expired records.
Alternatively, you could just use the above query to filter results and skip the creation of the view altogether …