BEGIN if not exists (select 1 from view_aggregates where object_id = new.object_id) then INSERT INTO view_aggregates (object_id,views_count,unique_views,last_viewed) VALUES (new.object_id,1,1,now()); else UPDATE view_aggregates SET views_count = views_count + 1, unique_views = unique_views + 1, last_viewed = now() WHERE object_id = new.object_id; end if; return new; END;