当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQLServer用存储过程实现插入更新数据示例

SQLServer用存储过程实现插入更新数据示例

2017年12月12日  | 移动技术网IT编程  | 我要评论

美女恶搞,神枪狙击2013粤语版,洪荒之祖龙

实现

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

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

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

【创建存储过程】

create proc insert_update 

@id varchar(20), 

@name varchar(20), 

@telephone varchar(20), 

@address varchar(20), 

@job varchar(20), 

@returnvalue int output 

as 

declare 

@tmpname varchar(20), 

@tmptelephone varchar(20),


@tmpjob varchar(20),

@tmpaddress varchar(20)

if exists(select * from dbo.demodata where id=@id) 

begin 

select @tmpname=name,@tmptelephone=telephone,@tmpaddress=address,@tmpjob=job from dbo.demodata where id=@id 

if ((@tmpname=@name) and (@tmptelephone=@telephone) and (@tmpaddress=@address)and (@tmpjob=@job)) 

begin 

set @returnvalue=0 --有相同的数据,直接返回值 

end 

else 

begin 

update dbo.demodata set name=@name,telephone=@telephone,address=@address,job=@job where id=@id 

set @returnvalue=2 --有主键相同的数据,进行更新处理 

end 

end 

else 

begin 

insert into dbo.demodata values(@id,@name,@telephone,@address,@job) 

set @returnvalue=1 --没有相同的数据,进行插入处理 

end

【执行方式】

declare @returnvalue int 
exec insert_update '15','hugh15','3823345','长安街','副部长',@returnvalue output 
select @returnvalue

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

返回值1,插入成功

返回值2,更新成功

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网