这期内容当中小编将会给大家带来有关SQLServer中怎么利用存储过程插入更新数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

实现

1)有相同的数据,直接返回(返回值:0);

2)有主键相同,但是数据不同的数据,进行更新处理(返回值:2);

3)没有数据,进行插入数据处理(返回值:1)。

【创建存储过程】

CreateprocInsert_Update@Idvarchar(20),@Namevarchar(20),@Telephonevarchar(20),@Addressvarchar(20),@Jobvarchar(20),@returnValueintoutputasdeclare@tmpNamevarchar(20),@tmpTelephonevarchar(20),@tmpJobvarchar(20),@tmpAddressvarchar(20)ifexists(select*fromdbo.DemoDatawhereid=@Id)beginselect@tmpName=Name,@tmpTelephone=Telephone,@tmpAddress=Address,@tmpJob=Jobfromdbo.DemoDatawhereid=@Idif((@tmpName=@Name)and(@tmpTelephone=@Telephone)and(@tmpAddress=@Address)and(@tmpJob=@Job))beginset@returnValue=0--有相同的数据,直接返回值endelsebeginupdatedbo.DemoDatasetName=@Name,Telephone=@Telephone,Address=@Address,Job=@Jobwhereid=@Idset@returnValue=2--有主键相同的数据,进行更新处理endendelsebegininsertintodbo.DemoDatavalues(@Id,@Name,@Telephone,@Address,@Job)set@returnValue=1--没有相同的数据,进行插入处理end

【执行方式】

declare@returnValueintexecInsert_Update'15','hugh25','3823345','长安街','副部长',@returnValueoutputselect@returnValue

返回值0,已经存在相同的

返回值1,插入成功

返回值2,更新成功

上述就是小编为大家分享的SQLServer中怎么利用存储过程插入更新数据了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。