update MOrder set remark=@remark
where id=@id
delete from MOrderDetail
where MOrderid=@id
insert into MOrderDetail values(@id,@pku0,@qty0)
insert into MOrderDetail values(@id,@pku1,@qty1)
……
--存在则更新,不存在则插入
If exists(select 1 from MOrder with(nolock) where MOrderid=@id and pku=@pku0)
update MOrderDetail set qty=@qty0
where MOrderid=@id and pku=@pku0
Else
insert into MOrderDetail values(@id,@pku0,@qty0)
……
--删除
Delete from MOrderDetail where MOrderid=@id and pku not in(@pku0,@pku1……);
declare @tb table
(
pku int,
qty int
)
Insert into @tb values(@pku0,@qty0)
Insert into @tb values(@pku1,@qty1)
……
Update a set qty=b.qty
From MOrderDetail as a
inner join @tb as b on a.pku=b.pku
Where a.MOrderid=@id
Delete from MOrderDetail
Where pku not in(select pku from @tb) and MOrderid=@id
Insert into MOrderDetail
Select @id,a.pku,b.qty from @tb
Where pku not in
(select pku from MOrderDetail where MOrderid=@id)