你的代码太乱啦 !我帮你简单改了下
有 @NUMBER 就更新 没有就新增
@rtn 为1:表示新增 2:为更新
CREATE PROC CUNCHUGUOCHENG
@NUMBER VARCHAR(10),
@rtn INT output
AS
BEGIN
if exists (select*from guanliyuanxinxi where NUMBER=@NUMBER)
begin
UPDATE guanliyuanxinxi SET NUMBER=@NUMBER WHERE NUMBER=@NUMBER
SET @rtn=2
end
else
begin
insert into guanliyuanxinxi values(@NUMBER)
SET @rtn=1
end
END
GO
你们都写了 这么一句代码 UPDATE guanliyuanxinxi SET NUMBER=@NUMBER WHERE NUMBER=@NUMBER
你们没有发现问题么 @number 不唯一么
你们想一想 我们假设@number=1;那么我们表中找到number=1的数据行 把number修改成1 ,这个有意思么? 这样的修改需要修改么