Stored procedures 过程中的SQL插入更新问题

Stored procedures 过程中的SQL插入更新问题,stored-procedures,Stored Procedures,这是我在这个网站上的第一篇帖子。 这里是我的问题:我想使用相同的存储过程进行插入和更新 对于Insert,没有问题。但是在更新时,我希望根据我的主键而不是任何唯一的列值来更新它 这是我目前的程序 IF EXISTS(SELECT MemberID FROM MEMBER WHERE MEMBERSHIPNO=@MEMBERSHIPNO) WHERE MEMBERSHIPNO=@Membershipno 我想在MemberID=@MemberID//MemberID是主键的地方使用 请帮

这是我在这个网站上的第一篇帖子。 这里是我的问题:我想使用相同的存储过程进行插入和更新

对于Insert,没有问题。但是在更新时,我希望根据我的主键而不是任何唯一的列值来更新它

这是我目前的程序

IF EXISTS(SELECT MemberID FROM MEMBER WHERE MEMBERSHIPNO=@MEMBERSHIPNO)
WHERE MEMBERSHIPNO=@Membershipno    
我想在MemberID=@MemberID//MemberID是主键的地方使用


请帮助。

我不确定是否完全理解您的问题,但据我所知,您正在尝试执行一个if子句,该子句将在所述凭据存在时更新

像这样的事情就行了,只要填上逻辑就行了

IF EXISTS (SELECT MemberID FROM MEMBER WHERE MEMBERSHIPNO=@MEMBERSHIPNO)
    UPDATE [ADD UPDATE LOGIC HERE] WHERE MemberID=@MemberID
ELSE
    INSERT [ADD INSERT LOGIC HERE]

希望这有帮助。

您好,先生,您的解决方案非常有用。其中MemberID=@MemberID此处我不接受用户的MemberID。我希望它基于select查询从MEMBERSHIPNO=@MembershipNoth的成员中检索select MemberID,然后您必须执行select INTO语句才能在update调用之前填充@MemberID。我不知道是否可以在EXISTS语句中这样做,我已经有一段时间没有使用SQL了,我已经很生疏了;也许这会起作用:如果存在,请将前1名MemberID从MEMBER选择到@MemberID,其中MEMBERSHIPNO=@MEMBERSHIPNO希望这有帮助!