请高手帮我看一下这个存储过程那里有问题

myhorsefsy 2006-07-21 08:53:57
运行[dbo].[TESTProcedure1] ( @ID = 1, @XM = 1, @SEX = 1, @BEIZHU = 1, @NUM = 1, @Send_Result = 1 ).

无法更新标识列 'ID'。
没有行受影响。
(返回 0 行)
@Send_Result = 1
@RETURN_VALUE =
完成 [dbo].[TESTProcedure1] 运行。
上面是错误提示
下面是代码
ALTER PROCEDURE dbo.TESTProcedure1
@ID int ,
@XM varchar(10),
@SEX varchar(2),
@BEIZHU varchar(50),
@NUM int ,
@Send_Result int OUTPUT
AS
set @NUM=0
IF (@NUM=1)
BEGIN
SET @Send_Result=1
INSERT INTO test
(ID, XM, SEX, BEIZHU)
VALUES (@ID,@XM,@SEX,@BEIZHU)
return @Send_Result
END
IF @NUM=2
BEGIN
SET @Send_Result=2
UPDATE TEST SET ID=@ID,XM=@XM,SEX=@SEX,BEIZHU=@BEIZHU WHERE ID=@ID
END
IF @NUM=3
BEGIN
SET @Send_Result=3
DELETE FROM TEST WHERE ID=@ID
END
RETURN
...全文
152 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mylkzy 2006-07-21
  • 打赏
  • 举报
回复
你是不是将id列设为identity属性了,当然不能够直接更新.另外
set @NUM=0
IF (@NUM=1)
中set @NUM=0不知道有什么用,会将输入的值给替换掉,导致后面判断都不成立

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧