存储过程:数据的插入和更新

2023-05-16

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

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

1、数据库表结构

    所用数据库为Sql Server2008。

2、创建存储过程

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

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

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

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

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


 1 Create proc sp_Insert_Student
2 @No char(10),
3 @Name varchar(20),
4 @Sex char(2),
5 @Age int,
6 @rtn int output
7 as
8 declare
9 @tmpName varchar(20),
10 @tmpSex char(2),
11 @tmpAge int
12
13 if exists(select * from Student where No=@No)
14 begin
15 select @tmpName=Name,@tmpSex=Sex,@tmpAge=Age from Student where No=@No
16 if ((@tmpName=@Name) and (@tmpSex=@Sex) and (@tmpAge=@Age))
17 begin
18 set @rtn=0 --有相同的数据,直接返回值
19 end
20 else
21 begin
22 update Student set Name=@Name,Sex=@Sex,Age=@Age where No=@No
23 set @rtn=2 --有主键相同的数据,进行更新处理
24 end
25 end
26 else
27 begin
28 insert into Student values(@No,@Name,@Sex,@Age)
29 set @rtn=1 --没有相同的数据,进行插入处理
30 end

3、调用存储过程

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

具体的代码如下:


1 declare @rtn int
2 exec sp_Insert_Student '1101','张三','',23,@rtn output
3
4 if @rtn=0
5 print '已经存在相同的。'
6 else if @rtn=1
7 print '插入成功。'
8 else
9 print '更新成功'

   

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

    在成长学习的过程中,我会不断发一些自己的心得体会,和大家共享。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

存储过程:数据的插入和更新 的相关文章

  • #ifndef详解

    ifndef 是 34 if not defined 34 的简写 xff0c 是预处理功能 xff08 宏定义 文件包含 条件编译 xff09 当中的条件编译 xff0c 可以根据是否已经定义了一个变量来进行分支选择 xff0c 其作用是
  • vue中watch的用法总结以及报错处理Error in callback for watcher "checkList"

    首先确认 watch是一个对象 xff0c 一定要当成对象来用 对象就有键 xff0c 有值 键 xff1a 就是你要监控的那个家伙 xff0c 比如说 route xff0c 这个就是要监控路由的变化 xff0c 或者是data中的某个变
  • 京东物流青龙系统分享

    QQ空间 腾讯朋友 新浪微博 人人网 开心网 微信 QQ好友 腾讯微博 浏览 xff1a 1102 2015年 xff0c 中国的大电商平台格局已定 xff0c 各大平台开始重视的方向已经从过去的价格战转向最后一公里和O2O的布局了 移动电
  • 彻底解决DZ大附件上传问题

    2012 4 13日更新 xff1a 因为这篇文章是很早以前写的了 xff0c 很多朋友看到了之后向我咨询大附件的问题 xff0c 但是以下部分信息已经失效 xff0c 如需了解这个问题的最新解决方案 xff0c 可以加我的QQ群 xff1
  • 前端经典面试题CSS三栏布局

    对于前端来说 xff0c 布局也是必须掌握的 xff0c 一个好的布局可以让页面看起来更美观 提到布局 xff0c 那就不得不说CSS三栏布局 这是前端面试经常会问到的一个问题 xff0c 算是基础题 所谓的三栏布局 xff0c 一般是指左
  • xmanager 注册码及评估期已过的解决办法

    注册信息 用户 xff1a admin 企业 xff1a microsoft Xshell4 0注册码 xff1a 690313 111999 999313 Xftp 4 0注册码 xff1a 101210 450789 147200 Xs
  • ntoj 808 蚂蚁的难题(八)

    蚂蚁的难题 八 时间限制 xff1a 2000 ms 内存限制 xff1a 65535 KB 难度 xff1a 5 描述 蚂蚁是一个古玩爱好者 xff0c 他收藏了很多瓶瓶罐罐 有一天 xff0c 他要将他的宝贝们一字排开 xff0c 摆放
  • CentOS 7尝试安装 phpstudy

    安装方法 xff08 phpstudy for linux V0 2公测版 xff09 使用 SSH 连接工具 连接到您的 Linux服务器后 xff0c 根据系统执行相应命令开始安装 xff08 大约2分钟完成面板安装 xff09 xff
  • asp.net 2.0中傻瓜式使用soap header

    在websevrice 中 soap header是十分重要的哦 xff0c 主要是安全性的考虑 xff0c 在asp net 2 0中 可以简单地应用soap header来 进行傻瓜式的应用 xff0c 更复杂的应用当然要更深入地去看了
  • Linux操作系统中对于NTFS读取目录功能的实现

    1 2 We use the same basic approach as the old NTFS driver i e we parse the 3 index root entries and then the index alloc
  • matlab练习程序(演化策略ES)

    还是这本书上的内容 xff0c 不过我看演化计算这一章是倒着看的 xff0c 这里练习的算法正好和书中介绍的顺序是相反的 演化策略是最古老的的演化算法之一 xff0c 和上一篇DE算法类似 xff0c 都是基于种群的随机演化产生最优解的算法
  • 火狐浏览器无法打开

    解决火狐浏览器无法打开的问题 xff1a 第一种方法 请先检查一下任务管理器中有没有火狐的进程 xff08 firefox exe xff09 xff0c 有的话 xff0c 请在任务管理器中强行关闭它 xff0c 然后试试用safe mo
  • 快上车项目简介(500字)

    第8组 快上车 xff0c 这是一款日常生活中非常有趣的安卓手机软件 xff0c 致力于打造一个大学生的专属娱乐创意社区 xff0c 讨论的话题轻松休闲贴近大学生活 xff0c 与在社会中十分流行的贴吧 xff0c 糗事百科类似 在快上车中
  • 挂载硬盘,提示 mount: unknown filesystem type 'LVM2_member'的解决方案

    问题现象 xff1a 由于重装linux xff0c 并且加了固态硬盘 xff0c 直接将系统装在固态硬盘中 启动服务器的时候 xff0c 便看不到原来机械硬盘的挂载目录了 xff0c 不知如何访问机械硬盘了 直接用命令 mount dev
  • 对目前市面上WPF书的浅薄感受

    目前市面上 WPF的书籍 xff0c WPF揭秘 人民邮电出版社 深入解析 WPF编程 电子工业出版社 xff0c WPF程序设计指南 电子工业出版社 WPF高级编程 清华大学出版社 我购买了前面三本 xff0c 简单的对前面三本说一些浅薄
  • 麒麟操作系统配置web服务器,银河麒麟服务器设置

    银河麒麟服务器设置 内容精选 换一换 鲲鹏软件栈汇聚各种鲲鹏兼容软件 xff0c 帮助开发者了解如何将软件移植到鲲鹏上运行 xff0c 获取操作指导和工具 来自 xff1a 其他 对于业务量访问较大的业务 xff0c 可以通过ELB设置相应
  • 技术岗的职业规划_剪辑师该如何做好职业规划?

    各位点进来的小伙伴 xff0c 我猜你们在22 28岁之间吧 这是我们人生中最迷茫最不知所措的年龄段 刚大学毕业发现学的专业跟实际工作起来相差甚远 xff0c 茫然失措 工作几年后 xff0c 猛然发现每日的工作内容都差不多 xff0c 毫
  • debian11的PVE应用

    1 在debian11中安装pve7之后 xff0c 新建虚拟机安装openeuler 启动时报错 xff1a TASK ERROR start failed QEMU exited with code 1 可以把这一段 39 kvm ig
  • cvc 降噪_你买的“降噪”耳机真的是你想要的降噪吗?

    降噪 这一个高大上得词 xff0c 在你们眼中是不是非常的有效 xff0c 面对公共交通工具热播剧外放 xff0c 街道上车水马龙的轰鸣 xff0c 咖啡厅孩子们的喧嚣 xff0c 噪音其实一直都在我们的身边 xff0c 无处不在 xff0
  • ajax post请求怎么传参_高级前端:详解手写原生Ajax的实现

    点击上方 前端印象 xff0c 选择 设为星标 第一时间关注技术干货 xff01 对于Ajax xff0c 肯定很多小伙伴都听过甚至用过了 xff0c 那么没听过的也不用着急 xff0c 本文会对Ajax进行讲解 xff0c 其次 xff0

随机推荐