位置: 编程技术 - 正文

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别(sqlserver存储过程返回多个结果集)

编辑:rootadmin

推荐整理分享sqlserver存储过程中SELECT 与 SET 对变量赋值的区别(sqlserver存储过程返回多个结果集),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlserver存储过程的创建和使用,sqlserver存储过程加密,sqlserver存储过程怎么查看,sqlserver存储过程声明变量,sqlserver存储过程语法,sqlserver存储过程在哪里,sqlserver存储过程if语句,sqlserver存储过程声明变量,内容如对您有帮助,希望把文章链接给更多的朋友!

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别(sqlserver存储过程返回多个结果集)

SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。下表列出 SET 与 SELECT 的区别。请特别注意红色部分。

setselect同时对多个变量同时赋值不支持支持表达式返回多个值时出错将返回的最后一个值赋给变量表达式未返回值变量被赋null值变量保持原值

下面以具体示例来说明问题:create table chinadba1(userid int ,addr varchar() )goinsert into chinadba1(userid,addr) values(1,'addr1')insert into chinadba1(userid,addr) values(2,'addr2')insert into chinadba1(userid,addr) values(3,'addr3')go表达式返回多个值时,使用 SET 赋值 declare @addr varchar()set @addr = (select addr from chinadba1)/*--出错信息为服务器: 消息 ,级别 ,状态 1,行 2子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。*/go表达式返回多个值时,使用 SELECT 赋值 declare @addr varchar()select @addr = addr from chinadba1print @addr --结果集中最后一个 addr 列的值--结果: addr3 go表达式未返回值时,使用 SET 赋值 declare @addr varchar()set @addr = '初始值'set @addr = (select addr from chinadba1 where userid = 4 )print @addr --null值 go表达式未返回值时,使用 SELECT 赋值 declare @addr varchar()set @addr = '初始值'select @addr = addr from chinadba1 where userid = 4print @addr --保持原值go需要注意的是,SELECT 也可以将标量子查询的值赋给变量,如果标量子查询不返回值,则变量被置为 null 值。此时与 使用 SET 赋值是完全相同的对标量子查询的概念大家应该都觉得陌生,举个例子就能说明declare @addr varchar()set @addr = '初始值'--select addr from chinadba1 where userid = 4 为标量子查询语句select @addr = (select addr from chinadba1 where userid = 4) print @addr --null值go

sqlserver 高性能分页实现分析 先来说说实现方式:1、我们来假定Table中有一个已经建立了索引的主键字段ID(整数型),我们将按照这个字段来取数据进行分页。2、页的大小我们放

SQL里类似SPLIT的分割字符串函数 一,用临时表作为数组createfunctionf_split(@cvarchar(),@splitvarchar(2))returns@ttable(colvarchar())asbeginwhile(charindex(@split,@c)0)begininsert@t(col)values(substring(@c,1,charindex(@s

关于 SQL Server ErrorLog 错误日志说明 默认情况下,SQLServer保存7个ErrorLog文件,名为:ErrorLogErrorLog.1ErrorLog.2ErrorLog.3ErrorLog.4ErrorLog.5ErrorLog.6在APACSOS版本6.1中,ErrorLog文件保存在c:ProgramFilesMicro

标签: sqlserver存储过程返回多个结果集

本文链接地址:https://www.jiuchutong.com/biancheng/349225.html 转载请保留说明!

上一篇:sqlserver Case函数应用介绍(sql里case)

下一篇:sqlserver 高性能分页实现分析(sqlserver性能优化)

  • 印花税不足1元需要缴纳吗
  • 如何确定合伙企业
  • 流动资金包括哪三种
  • 有形动产租赁属于营改增吗
  • 资金账簿减半征收印花税财税2018 50号
  • 对方发票丢失怎么办理
  • 公共绿地绿化
  • 调增企业所得税怎么算
  • 公司与公司之间合作协议
  • 应收账款已收回但是账面还有余额怎么处理
  • 发票代表收据吗
  • 上报汇总和抄报是一个意思吗
  • 纳税人提供不动产经营租赁增值税征收管理
  • 个人所得税退税截止日期2023
  • 主营业务收入会计英语
  • 个人所得税人员添加后如何操作
  • 财产行为税税种
  • 清算期间未申报债权
  • 计算内含报酬率所使用的年金现值系数
  • 返利计提分录
  • 开普票税率怎么算
  • 购买现金支票的工本费计入什么科目
  • nmap命令
  • win11发布时间正式确定
  • 文件错误会追究拟稿人吗
  • 专用发票怎样申报
  • mmc.exe是什么进程
  • 金融企业计提资产减值准备是根据会计核算的
  • yolov5 c
  • 公司注销后所欠债怎么办
  • 社保调整基数后 两个月没变化
  • vericut9.0环境变量
  • vue脚手架安装命令
  • 图书发票怎么报销的
  • 蓝桥杯真题c语言
  • egi脑电数据处理
  • 深度学习之bottleneck layer
  • python的顺序
  • 2022年最新公务接待用餐标准
  • 保障金纳入地方财政吗
  • vite 插件开发
  • 应收货款计入什么科目
  • VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(二)
  • mysql分表的3种方法
  • 桶装矿泉水计入什么科目
  • 法人股东分红是否免税
  • sql里面union 和union all区别
  • mysql如何开启
  • 利息收入为负数的原因
  • 税金及附加主要包括什么
  • 纳税人办理普通发票流程
  • 无形资产的累计折旧
  • 税务局手续费返还什么时间到账
  • 印花税 不足
  • 公司与公司之间可以借款吗
  • 应缴纳房产税的房产
  • 什么是预收账款的正常余额
  • 分配间接成本的计算公式
  • centos7 ip forward
  • linux安装fping
  • linux查看sh
  • win8设置在哪
  • linux sed -s
  • Win10预览版镜像
  • WIN7系统如何设置开机密码和屏保密码
  • jquery有什么功能
  • 游戏中的物理 processing
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • Build Qt5.3.1 for Freescale I.MX6Q based Linux 3.0.15
  • jquery常见的选择器
  • 批处理 写入文件
  • css制作热点新闻板块
  • shell脚本-lt
  • 安卓9api
  • jquery 获取屏幕高度
  • jquery event
  • 利息发票可以抵扣进项税额吗
  • 青岛税务局局长是什么级别?
  • 小规模企业所得税申报流程
  • 地方税务局投诉有用吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设