sql 中删除相同数据,希望高手有优化方法

insert into StudentTable(ClassID,StudentName,StudentSex,StudentAge,StudentState,StudentRemark)
				values(@ClassID,@StudentName,@StudentSex,@StudentAge,@StudentState,@StudentRemark)
			set @Errer+=@@ERROR
			
			declare @Existsrepeat int
			select @Existsrepeat=COUNT(a.StudentName) from (select classID,StudentName,StudentSex,StudentAge,StudentState,StudentRemark from StudentTable where StudentName=@StudentName
			 group by classID,StudentName,StudentSex,StudentAge,StudentState,StudentRemark  having count (StudentName)>1 ) a
			
			 set @Errer+=@@ERROR
			 if(@Existsrepeat>0)
			 begin
				delete from StudentTable where StudentName=@StudentName
				set @Errer+=@@ERROR
				insert into StudentTable(ClassID,StudentName,StudentSex,StudentAge,StudentState,StudentRemark)
				values(@ClassID,@StudentName,@StudentSex,@StudentAge,@StudentState,@StudentRemark)
				set @Errer+=@@ERROR
			 end

 

posted on 2012-12-07 15:22  小泉泉  阅读(78)  评论(0)    收藏  举报