• You don't write a trigger based on a range or partition. You write it based on the table.

    If the read only groups are 3 months old, then your trigger just has something like

    if datePKcolumn < dateadd( mm, -3, getdate()) then

    rollback