zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

SQLServer存储数据 实现 示例 更新 过程 插入
2023-06-13 09:19:44 时间

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,更新成功


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 SQLServer用存储过程实现插入更新数据示例