alter proc save_menu_user@xml xml,@loginId varchar(200)
as
begin
set nocount on
set ARITHABORT ON
declare @tdemotab table(sutid varchar(1000),loginid varchar(1000),mid int)
insert into @tdemotab
select 0 Stuid,T.a.value('@loginId','varchar(200)') loginId,T.a.value('@mid','int') mid from @xml.nodes('//item') as T(a)
insert into User_menu(StuId,Teac,mid)
select t1.* from @tdemotab t1 left join User_menu a on a.Teac=t1.loginId and a.mid=t1.mid where a.Id is null;
delete User_menu where mid in(
select a.mid from @tdemotab t1 right join User_menu a on a.Teac=t1.loginId and a.mid=t1.mid
where a.Teac=@loginId and t1.sutid is null) and Teac=@loginId
end