我有一个包含以下列的表:
数据是这样的:
pk empID peer_empID
1 5 27
2 5 94
3 5 67
数据显示给用户,如下所示:
用户可以添加对等,修改选定的对等并删除它们。最后点击保存:
,它将存储在数据库中。
如果更改,我必须编写要更新的查询,如果不存在则插入,如果从前端删除则删除。
我试过了:
IF not exists (select empID, peer_empID from assignPeers where empID = @empID and peer_empID = @peer_empID)
BEGIN
insert into assignPeers (empID, peer_empID) values (@empID, @peer_empID)
END
ELSE
BEGIN
update assignPeers set peer_empID = -->here is the problem.. how will I define the condition to update? <--
where empID = @empID and peer_empID = @peer_empID
END
请建议我在这种情况下该怎么做?
答案 0 :(得分:0)
在这种情况下,我认为您没有太多选择......您必须存储原始主键和新主键,并尝试使用SET和WHERE语句进行更新。
答案 1 :(得分:0)
IF EXISTS (SELECT 1 FROM assignPeers WHERE empID = @empID)
BEGIN
UPDATE assignPeers set peer_empID = @peer_empID
WHERE empID = @empID
END
ELSE
INSERT into assignPeers (empID, peer_empID) values (@empID, @peer_empID)
END
请尝试上面的代码吗?