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

所属分类: 数据库 / mssql2008 阅读数: 1495
收藏 0 赞 0 分享

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

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

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 management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法

使用时代互联的海外空间,sql 2008 无限空间大小,开通账户后,使用sql server management studio 2008 连接数据库,可以链接上,但是无法查看自己的数据库,点击数据库后,提示 无法为该请求检索数据 错误916
收藏 0 赞 0 分享

探讨如何配置SQL2008,让其允许C#远程外部连接的方法详解

本篇文章是对如何配置SQL2008,让其允许C#远程外部连接的方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

SQL Server 2008 R2数据库镜像部署图文教程

数据库镜像是一种针对数据库高可用性的基于软件的解决方案。其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中
收藏 0 赞 0 分享

sql2008 hql语句翻译过来的分页语句介绍

有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用
收藏 0 赞 0 分享

sql server 2008数据库无法启动的解决办法(图文教程)

sql server 2008数据库无法启动的解决办法(图文教程),需要的朋友可以参考一下
收藏 0 赞 0 分享

安装SQL Server 2008时 总是不断要求重启电脑的解决办法

本篇文章是对安装SQL Server 2008时,总是不断要求重启电脑的解决办法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

关于SQL Server 2008 安装提示"重新启动计算机失败"的解决办法

本篇文章是对关于SQL Server 2008 安装提示"重新启动计算机失败"的解决办法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

SQL Server Native Client下载 SQL Server Native Client安装方法

在安装 SQL Server 2008 或 SQL Server 工具时,将同时安装 Microsoft SQL Server Native Client 10.0。如果计算机上还安装了 SQL Server Native Client 的 SQL Server 2005 版本,
收藏 0 赞 0 分享

sqlserver2008 拆分字符串

数据库 拆分字符串
收藏 0 赞 0 分享

SQL2008中 阻止保存要求重新创建表的更改 的解决方法

当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改
收藏 0 赞 0 分享
查看更多