sp更新整个表而不是特定的ID

时间:2011-12-07 04:23:00

标签: sql sql-server-2005

我的查询是:

ALTER PROC [dbo].[AddUpdate] ---212,'pp','en-US'
@MID int,
@LPName nvarchar(250),
@CCode nvarchar(50) 
AS
BEGIN
    IF(EXISTS(SELECT MID FROM [dbo].[MC] WHERE MID=@MID))
        BEGIN
        UPDATE [dbo].[MC]
        SET LPName=@LPName
            ,CCode=@CCode
        WHERE MID=MID
        END
    ELSE
        BEGIN
        Insert [dbo].[MC]
        (MID,LPName,CCode)
        values
        (
        @MID,@LPName,@CCode)
        END
END

但不是更新特定的id,而是更新了整个表。我的错误是什么。谢谢。

1 个答案:

答案 0 :(得分:1)

将更新更改为:

 UPDATE [dbo].[MC]
        SET LPName=@LPName
            ,CCode=@CCode
        WHERE MID=@MID