Este tema se ha planteado varias veces, y la forma recomendada para resolverlo son las columnas calculadas, es decir, calcular el valor del campo premium en vez de almacenarlo en la base de datos, por ejemplo, suponiendo que los puntos necesarios sean 50 y que los días de caducidad son 30:
Código:
create table dbo.memb_info (mem_id varchar, puntos int, fecha_alta datetime)
select
mem_id,
case
when puntos < 50 then 0
when puntos >=50 and fecha_alta < getdate()-30 then 1
when puntos >=50 and fecha_alta >= getdate()-30 then 2
end as premium
from dbo.memb_info
Saludos