SQLServer2008存储过程实现数据插入与更新

2023-12-07 0 250

存储过程的功能非常强大,在某种程度上甚至可以替代业务逻辑层,

接下来就一个小例子来说明,用存储过程插入或更新语句。

1、数据库表结构

所用数据库为Sql Server2008。

2、创建存储过程

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

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

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

根据不同的情况设置存储过程的返回值,调用存储过程的时候,根据不同的返回值,进行相关的处理。

(2)下面编码只是实现的基本的功能,具体的Sql代码如下:

Create proc sp_Insert_Student
@No char(10),
@Name varchar(20),
@Sex char(2),
@Age int,
@rtn int output
as
declare
@tmpName varchar(20),
@tmpSex char(2),
@tmpAge int

if exists(select * from Student where No=@No)
begin
select @tmpName=Name,@tmpSex=Sex,@tmpAge=Age from Student where No=@No
if ((@tmpName=@Name) and (@tmpSex=@Sex) and (@tmpAge=@Age))
begin
set @rtn=0 –有相同的数据,直接返回值
end
else
begin
update Student set Name=@Name,Sex=@Sex,Age=@Age where No=@No
set @rtn=2 –有主键相同的数据,进行更新处理
end
end
else
begin
insert into Student values(@No,@Name,@Sex,@Age)
set @rtn=1 –没有相同的数据,进行插入处理
end

3、调用存储过程

这里在Sql Server环境中简单的实现了调用,在程序中调用也很方便。

具体的代码如下:

declare @rtn int
exec sp_Insert_Student \’1101\’,\’张三\’,\’男\’,23,@rtn output

if @rtn=0
print \’已经存在相同的。\’
else if @rtn=1
print \’插入成功。\’
else
print \’更新成功\’

一个存储过程就实现了3中情况,而且效率很高,使用灵活。 希望对大家有所帮助。

您可能感兴趣的文章:

  • SQL Server的存储过程详解
  • 使用SQL SERVER存储过程实现历史数据迁移方式
  • SQL Server存储过程在C#中调用的简单实现方法
  • SQLServer存储过程创建和修改的实现代码
  • SQLServer存储过程实现单条件分页
  • SQL SERVER调用存储过程小结
  • 深入分析SQL Server 存储过程
  • SqlServer 2000、2005分页存储过程整理
  • SQL Server数据库中的存储过程介绍
  • SQL Server 2008 存储过程示例
  • 如何在SQL Server 2008下轻松调试T-SQL语句和存储过程
  • SQL SERVER存储过程用法详解

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 MsSql SQLServer2008存储过程实现数据插入与更新 https://www.u-9.cn/database/mssql/122473.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务