不清楚你表中的数据是什么样的,也不清楚你说的“不能完全运行”是指什么。
但:
select @oldbmc=类别 from deleted如果同时删除2条以上的记录时,deleted 表中有多条记录,这时 @oldbmc 会是什么?